DataTableToExcel(DataTable dtSource, strHeaderText, = (strFileName.IndexOf() > ) suffix = (strFileName.IndexOf() > ) suffix = (MemoryStream ms = (FileStream fs = [] data = DataGridViewToExcel(DataGridView myDgv, strHeaderText, = (strFileName.IndexOf() > ) suffix = (strFileName.IndexOf() > ) suffix = (MemoryStream ms = (FileStream fs = [] data = DataTable ExcelToDataTable(= = (FileStream file = New_NPOI (strFileName.IndexOf() > ) workbook = (strFileName.IndexOf() > ) workbook = Old_NPOI= = workbook.GetSheetAt(== sheet.GetRow( cellCount = ( j = ; j < cellCount; j++= ( i = (sheet.FirstRowNum + ); i <= sheet.LastRowNum; i++== ( j = row.FirstCellNum; j < cellCount; j++ (row.GetCell(j) != = private MemoryStream DataTableToExcelStream(DataTable dtSource, = = = = New_NPOI (suffix === (suffix === Old_NPOI= ==== dataFormat.GetFormat( [] arrColWidth = (DataColumn item = Encoding.GetEncoding( ( i = ; i < dtSource.Rows.Count; i++ ( j = ; j < dtSource.Columns.Count; j++ intTemp = Encoding.GetEncoding( (intTemp >= rowIndex = (DataRow row 新建表,填充表头,填充列头,样式 (rowIndex == || rowIndex == (rowIndex != = 表头及样式= sheet.CreateRow(= = IFont font == New_NPOI= Old_NPOI= ).CellStyle = 列头及样式= sheet.CreateRow(= IFont font == New_NPOI= Old_NPOI= (DataColumn column == 填充内容= (DataColumn column = drValue = : (drValue.Length > = drValue.Substring(, := cellStyle; : boolV = .TryParse(drValue, : intV = .TryParse(drValue, : doubV = .TryParse(drValue, : newCell.SetCellValue(++MemoryStream ms = New_NPOI MemoryStream DataGridViewToExcelStream(DataGridView myDgv, = = = = New_NPOI (suffix === (suffix === Old_NPOI= ==== dataFormat.GetFormat( [] arrColWidth = (DataGridViewColumn item = Encoding.GetEncoding( ( i = ; i < myDgv.Rows.Count; i++ ( j = ; j < myDgv.Columns.Count; j++ intTemp = Encoding.GetEncoding( (intTemp >= rowIndex = (DataGridViewRow row 新建表,填充表头,填充列头,样式 (rowIndex == || rowIndex == (rowIndex != = 表头及样式= sheet.CreateRow(= = IFont font == New_NPOI= Old_NPOI= ).CellStyle = 列头及样式= sheet.CreateRow(= IFont font == New_NPOI= Old_NPOI= (DataGridViewColumn column == 填充内容= (row.Index > (DataGridViewColumn column = drValue = myDgv[column.Index, row.Index - : := cellStyle; : boolV = .TryParse(drValue, : intV = .TryParse(drValue, : doubV = .TryParse(drValue, : newCell.SetCellValue(--++MemoryStream ms = New_NPOI
注,测试NPOI版本为:2.5.1.0,包含的文件及依赖: