...NPOI能否直接复制整个excel的某个sheet到另外一个excel中 求给段代 ...
发布网友
发布时间:2024-03-04 12:30
我来回答
共2个回答
热心网友
时间:2024-07-30 12:09
好吧,我有一段代码,你可参考下.
int sheetCount = dt.Rows.Count % 50000 == 0 ? dt.Rows.Count / 50000 : dt.Rows.Count / 50000 + 1;
ISheet sheet = null;
IRow row = null;
ICell cell = null;
for (int i = 0; i != sheetCount; i++)
{
sheet = book.CreateSheet(string.Format("RCList{0}", i + 1));
row = sheet.GetRow(0) ?? sheet.CreateRow(0);
for (int k = 0; k != dt.Columns.Count; k++)
{
cell = row.GetCell(k) ?? row.CreateCell(k);
cell.SetCellValue(dt.Columns[k].ColumnName);
}
}
for (int i = 0; i != dt.Rows.Count; i++)
{
sheet = book.GetSheetAt(i / 50000);
row = sheet.GetRow(i - (i / 50000) * 50000 + 1) ?? sheet.CreateRow(i - (i / 50000) * 50000 + 1);
for (int k = 0; k != dt.Columns.Count; k++)
{
cell = row.GetCell(k) ?? row.CreateCell(k);
if (dt.Rows[i][k] != DBNull.Value)
{
cell.SetCellValue(dt.Rows[i][k].ToString());
}
}
}
一般思路是打开已存的Excel,复制里面的架构到另一个Excel的新Sheet,然后复制数据过去.
如果是全部复制一个新的Excel的话,可以考虑直接使用 System.IO.File.Copy方法.
自已再慢慢摸索一下吧
热心网友
时间:2024-07-30 12:05
直接复制粘贴就可以了啊