【发布时间】:2017-08-02 08:29:02
【问题描述】:
祝大家有美好的一天。
我正在尝试将多个 excel 文件的所有工作表合并到一个 excel 文件中。我已经使用下面的代码成功地做到了:
string folder = textBox1.Text;
string[] xlsxfiles = Directory.GetFiles(folder, "*.xlsx");
Excel.Application app = new Excel.Application();
app.Visible = true;
Excel.Workbook finalWB = app.Workbooks.Add("");
Excel.Workbook tempWB = app.Workbooks.Add(xlsxfiles);
for (int i = 2; i <= app.Workbooks.Count; i++)
{
for (int j = 1; j <= app.Workbooks[i].Worksheets.Count; j++)
{
Excel.Worksheet ws = app.Workbooks[i].Worksheets[j];
ws.Copy(app.Workbooks[1].Worksheets[1]);
}
}
但是,工作簿“tempWB”仍处于打开状态,其中一些在末尾添加了文件名“1”(例如,Book1.xlsx 变为 Book11.xlsx)。
我已经试过了:
tempWB.Close();
但它不会关闭文件名中添加“1”的文件。
是否有一个代码可以用来关闭除一个(我的代码中的 finalWB)之外的所有打开的 excel 文件?
非常感谢您的日常帮助。
【问题讨论】:
标签: c#