NPOI 是否支持复制工作表并将其插入到同一工作簿中?
Does NPOI support copying a worksheet and inserting it into the same workbook?
我不熟悉使用 NPOI 和 XSSF 接口。
NPOI XSSF 是否支持复制 sheet 并将其插入到同一工作簿中?
通过阅读,我看到通过 HSSF 我可以复制一个 sheet 并将其插入到一个新的工作簿中。
我知道 Aspose.Cells 支持此功能。
此功能是否可通过 NPOI XSSF 获得?
是的,您可以复制一个 sheet 并将其插入到与 XSSFSheet
的 CopyTo
方法相同的工作簿中。您需要确保复制的 sheet 具有不同的名称以避免产生异常。
请注意,此方法在 NPOI 2.4.0 中介绍。
下面是复制工作簿第一个 sheet(索引 0)的示例:
XSSFWorkbook workbook;
using (FileStream fs = new FileStream(@"c:\temp\test.xlsx", FileMode.Open, FileAccess.Read))
{
workbook = new XSSFWorkbook(fs);
}
XSSFSheet sheet = workbook.GetSheetAt(0) as XSSFSheet;
sheet.CopyTo(workbook, $"{sheet.SheetName}_copy", true, true);
using (FileStream fs = new FileStream(@"c:\temp\test.xlsx", FileMode.Create, FileAccess.Write))
{
workbook.Write(fs);
}
我不熟悉使用 NPOI 和 XSSF 接口。
NPOI XSSF 是否支持复制 sheet 并将其插入到同一工作簿中?
通过阅读,我看到通过 HSSF 我可以复制一个 sheet 并将其插入到一个新的工作簿中。
我知道 Aspose.Cells 支持此功能。 此功能是否可通过 NPOI XSSF 获得?
是的,您可以复制一个 sheet 并将其插入到与 XSSFSheet
的 CopyTo
方法相同的工作簿中。您需要确保复制的 sheet 具有不同的名称以避免产生异常。
请注意,此方法在 NPOI 2.4.0 中介绍。
下面是复制工作簿第一个 sheet(索引 0)的示例:
XSSFWorkbook workbook;
using (FileStream fs = new FileStream(@"c:\temp\test.xlsx", FileMode.Open, FileAccess.Read))
{
workbook = new XSSFWorkbook(fs);
}
XSSFSheet sheet = workbook.GetSheetAt(0) as XSSFSheet;
sheet.CopyTo(workbook, $"{sheet.SheetName}_copy", true, true);
using (FileStream fs = new FileStream(@"c:\temp\test.xlsx", FileMode.Create, FileAccess.Write))
{
workbook.Write(fs);
}