如图,C#使用NPOI导出的表格,已经设置cellstyle的上下左右都为无边框,但出来的单元格都是虚线边框,并且在WPS里面设置为无边框也还是一样效果,请教如何使导出的单元格为普通不带边框的效果?
public static XSSFWorkbook ToXSSFWorkbook(DataSet dataset)
{
var workbook = new XSSFWorkbook();
ISheet sheet;
DataTable table;
ICellStyle style = workbook.CreateCellStyle();
style.BorderBottom = BorderStyle.None;
style.BorderLeft = BorderStyle.None;
style.BorderRight = BorderStyle.None;
style.BorderTop = BorderStyle.None;
for (int i = 0; i < dataset.Tables.Count; i++)
{
table = dataset.Tables[i];
sheet = workbook.CreateSheet(table.TableName);
DataTableToXlsSheet(table, style, ref sheet);
}
return workbook;
}
private static void DataTableToXlsSheet(DataTable table, ICellStyle style,ref ISheet sheet)
{
DataRow dataRow;
IRow row;
ICell cell;
int cols = table.Columns.Count;
int rows = table.Rows.Count;
//写入第一行,数据表头;
row = sheet.CreateRow(0);
for (int i = 0; i < cols; i++)
{
cell = row.CreateCell(i);
cell.CellStyle = style;
SetCellValue(ref cell, table.Columns[i].ColumnName);
}
//写数据
for (int i = 0; i < rows; i++)
{
dataRow = table.Rows[i];
row = sheet.CreateRow(i + 1);
for (int j = 0; j < cols; j++)
{
cell = row.CreateCell(j);
SetCellValue(ref cell, dataRow[j]);
}
}
}
