chenxy 1 год назад
Родитель
Сommit
62648e0720

+ 2 - 0
DK.Basics/BaseControls/DataGridView/C_DataGridView.cs

@@ -1269,6 +1269,8 @@ namespace Dongke.IBOSS.PRD.Basics.BaseControls
                     tv = _columnTreeView[0];
                 }
 
+                GC.Collect();
+
                 // 导出excle 2007 xls 以下版本 65536 预留10行多维表头
                 if (this.Rows.Count < 65526)
                 {

+ 2 - 2
DK.Basics/BaseControls/ExportExcel/MES_Common2003.cs

@@ -657,7 +657,7 @@ namespace Dongke.IBOSS.PRD.Framework.Controls
 									}
 									else if (Operators.CompareString(Versioned.TypeName(mydgv.Columns[array3[num4]]), "DataGridViewCheckBoxColumn", TextCompare: false) == 0)
 									{
-										if (mydgv.Rows[num36].Cells[array3[num4]].Value != null && Conversions.ToBoolean(mydgv.Rows[num36].Cells[array3[num4]].Value))
+										if (mydgv.Rows[num36].Cells[array3[num4]].Value != null && mydgv.Rows[num36].Cells[array3[num4]].Value != DBNull.Value && Conversions.ToBoolean(mydgv.Rows[num36].Cells[array3[num4]].Value))
 										{
 											DGVtoExcel2003.SetCellValue(hSSFSheet, num7 + num36, num4, "√");
 										}
@@ -1389,7 +1389,7 @@ namespace Dongke.IBOSS.PRD.Framework.Controls
 										}
 										else if (Operators.CompareString(Versioned.TypeName(dataGridView.Columns[array3[num6]]), "DataGridViewCheckBoxColumn", TextCompare: false) == 0)
 										{
-											if (dataGridView.Rows[num40].Cells[array3[num6]].Value != null && Conversions.ToBoolean(dataGridView.Rows[num40].Cells[array3[num6]].FormattedValue))
+											if (dataGridView.Rows[num40].Cells[array3[num6]].Value != null && dataGridView.Rows[num40].Cells[array3[num6]].Value != DBNull.Value && Conversions.ToBoolean(dataGridView.Rows[num40].Cells[array3[num6]].FormattedValue))
 											{
 												DGVtoExcel2003.SetCellValue(hSSFSheet, num9 + num40, num6, "√");
 											}

+ 3 - 2
DK.Basics/BaseControls/ExportExcel/UPOI/DGVtoExcel.cs

@@ -72,6 +72,7 @@ namespace Dongke.IBOSS.PRD.Framework.Controls
 
 		public static bool myNewDGVtoExcel(DataGridView mydgv, string filename, string title, string TableHeader, string TableFooter, bool isopenfile)
 		{
+			//return false;
 			checked
 			{
 				bool result;
@@ -276,7 +277,7 @@ namespace Dongke.IBOSS.PRD.Framework.Controls
 										}
 										else if (Operators.CompareString(Versioned.TypeName(mydgv.Columns[array3[num4]]), "DataGridViewCheckBoxColumn", TextCompare: false) == 0)
 										{
-											if (mydgv.Rows[l].Cells[array3[num4]].Value != null)
+											if (mydgv.Rows[l].Cells[array3[num4]].Value != null && mydgv.Rows[l].Cells[array3[num4]].Value != DBNull.Value)
 											{
 												if (Conversions.ToBoolean(mydgv.Rows[l].Cells[array3[num4]].FormattedValue))
 												{
@@ -867,7 +868,7 @@ namespace Dongke.IBOSS.PRD.Framework.Controls
 									}
 									else if (Operators.CompareString(Versioned.TypeName(mydgv.Columns[array3[num4]]), "DataGridViewCheckBoxColumn", TextCompare: false) == 0)
 									{
-										if (mydgv.Rows[num39].Cells[array3[num4]].Value != null && Conversions.ToBoolean(mydgv.Rows[num39].Cells[array3[num4]].FormattedValue))
+										if (mydgv.Rows[num39].Cells[array3[num4]].Value != null && mydgv.Rows[num39].Cells[array3[num4]].Value != DBNull.Value && Conversions.ToBoolean(mydgv.Rows[num39].Cells[array3[num4]].FormattedValue))
 										{
 											SetCellValue(hSSFSheet, num7 + num39, num4, "√");
 										}

+ 4 - 2
DK.Basics/BaseControls/ExportExcel/UPOI/newDGVtoExcel.cs

@@ -498,8 +498,10 @@ namespace Dongke.IBOSS.PRD.Framework.Controls
 				int result;
 				try
 				{
-					short row = ((lrow <= 32768) ? ((short)(lrow - 1)) : ((short)(lrow - 65536 - 1)));
-					short col = ((lcol <= 32768) ? ((short)(lcol - 1)) : ((short)(lcol - 65536 - 1)));
+					//short row = ((lrow <= 32768) ? ((short)(lrow - 1)) : ((short)(lrow - 65536 - 1)));
+					//short col = ((lcol <= 32768) ? ((short)(lcol - 1)) : ((short)(lcol - 65536 - 1)));
+					short row = (short)(lrow - 1);
+					short col = (short)(lcol - 1);
 					switch (ValueType)
 					{
 						case ValueTypes.xlsInteger: