我正在尝试创建一个应用程序,它将Excel电子表格在给定目录中合并到一个单独的标签式Excel工作簿中。我只能访问VS社区2015,所以VSTO是不可能的。我正在使用Interop和NPOI 2.1.3.1。复制Excel工作表与NPOI CopySheet;复制始终是空的
这里是我的代码:
files = Directory.GetFiles(sourcePath);
XSSFWorkbook test = new XSSFWorkbook();
try
{
string fPath = files[0];
FileStream fs2 = new FileStream(fPath, FileMode.Open, FileAccess.ReadWrite);
XSSFWorkbook myBook = new XSSFWorkbook(fs2);
test.CreateSheet(myBook.GetSheetName(0));
var sheet1 = myBook.GetSheetAt(0).CopySheet(test.GetSheetName(0));
test.Write(new FileStream("testFile.xlsx", FileMode.Create, FileAccess.ReadWrite));
}
catch { }
我不想做任何幻想,在这里,刚刚获得通过的GetFiles函数返回的第一个文件,在第一个工作表的所有内容复制,并创建一个新的工作表在新的工作手册“测试”中复制了什么内容。我知道正在找到源文件,因为输出文件“testFile.xlsx”的sheet1正在获取源工作表的唯一工作表名称 - 它不是“Sheet1”。但是,该表的其余部分空白,我不知道为什么。
我对Excel 2016使用这个,如果这有所作为。
你为什么同时使用Interop和NPOI? – mason