【发布时间】:2013-02-06 16:58:31
【问题描述】:
我有一个包含 25 个左右工作表的 Excel,我只想将每个工作表保存为自己的新工作簿。当我运行代码时,它会复制整个工作簿而不是单个工作表。任何帮助都会很棒。
string FileDropLocation = @"C:\ExcelFiles";
string file_FullFileName = @"C:\ts\Conversion\v2.xlsx";
Microsoft.Office.Interop.Excel.Application app = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbook workBook = app.Workbooks.Open(file_FullFileName, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
for (int i = 0; i < workBook.Worksheets.Count; i++)
{
Microsoft.Office.Interop.Excel.Worksheet workSheet = (Microsoft.Office.Interop.Excel.Worksheet)workBook.Sheets[i+1];
workSheet.SaveAs(FileDropLocation + "\\" + workSheet.Name);
}
workBook.Close();
【问题讨论】:
-
您不能在工作表上调用 SaveAs - 首先调用
.Copy创建一个仅包含该工作表的独立新工作簿,然后保存该工作簿。 -
@TimWilliams 你能提供一个代码示例吗?
-
@TimWilliams 是的,这个例子不起作用,它只是让 excel 打开
-
抱歉 - 我没有任何代码可以满足您的需求。复制是要走的路。 Google 上似乎有很多例子。