由于列宽ColumnWidth的限制,导致导出的Excel文件格式出错无法打开,需要进行列宽的判断调整。

                                foreach (DataColumn column in dtSource.Columns)
                                {
                                    headerRow.CreateCell(column.Ordinal).SetCellValue(column.ColumnName);
                                    headerRow.GetCell(column.Ordinal).CellStyle = headStyle;

                                    //设置列宽
                                    //sheet.SetColumnWidth(column.Ordinal, (arrColWidth[column.Ordinal] + 1) * 256);

                                    int colWidth = (arrColWidth[column.Ordinal] + 1) * 256;
                                    if (colWidth < 255 * 256)
                                    {
                                        sheet.SetColumnWidth(column.Ordinal, colWidth < 3000 ? 3000 : colWidth);
                                    }
                                    else
                                    {
                                        sheet.SetColumnWidth(column.Ordinal, 6000);
                                    }
                                }

更多推荐

NPOI导出Excel时文件格式出错!The maximum column width for an individual cell is 255 charac