我正在处理一个文档 ( ppt, pptx, xls, xlsx, doc, docx and pdf
) 拆分器,总的来说,我让它工作了。现在我面临最后一个问题,事情是在我的计算机上一切正常(windows 7 64b + office 2007),但我xlsx
的服务器(windows server 2008 64b + office 2007)有一个问题。
问题是,与此同时,我正在拆分具有图表的 xlsx(它与 xls 一起使用),我可以从每张工作表中创建新文件,但来自图表的工作表。
Excel.Workbook newWork = workbooks.Add();
work.Sheets[counter].Copy(newWork.Sheets[1]);
foreach (Excel.Worksheet newSheet in newWork.Worksheets)
{
if (newSheet.Index > 1)
{
newSheet.Delete();
}
}
newWork.SaveAs(
currentName, Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookDefault,
Type.Missing, Type.Missing, false, false,
Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
newWork.Close();
Marshal.ReleaseComObject(newWork);
newWork.SaveAs 正在抛出ComException: Document not saved。如果我手动完成这项工作(我的意思是,如果我打开 xlsx 文件然后将图表移动/复制到新工作簿),它会起作用。此外,如果我删除该属性excelApp.DisplayAlerts = false;
,它会卡在“另存为”对话框中(如果我尝试通过选择目标文件夹手动完成该过程,则会一遍又一遍地弹出“另存为”弹出窗口)。
任何想法?