0
我有一個Excel工作簿裏面有多個圖表。我創建了一個for循環來獲取每張表中的圖表。這工作沒有錯誤。Excel/Powerpoint Office Interop - 從Excel表格複製圖表到PowerPoint幻燈片
我遇到的問題是我無法導入多個圖表,只有一個圖表導入爲圖片而不是圖表。
objChart.Copy();
完整的錯誤:
當我嘗試導入多個圖表,我在這條線得到一個COMException
An exception of type 'System.Runtime.InteropServices.COMException' occurred in mscorlib.dll but was not handled in user code
Additional information: Exception from HRESULT: 0x800A03EC
這裏是我的全部方法:
public int ImportExcelChartsFromWorkbookToSlides(int startingSlideIndex, string workbookPath, string[] slideTitles)
{
int slideIndex = startingSlideIndex;
int titleIndex = 0;
EXCL.Application objExclApp = new EXCL.Application();
EXCL.Workbook objWorkbook = objExclApp.Workbooks.Open(workbookPath, Editable: false);
foreach (EXCL.Worksheet objSheet in objWorkbook.Worksheets)
{
foreach (EXCL.ChartObject objChart in objSheet.ChartObjects())
{
AddTitleOnlySlide(slideIndex);
SetTitleOnlySlideTitle(slideTitles[titleIndex]);
// Copy Chart from Sheet to Slide
objChart.Copy();
PPT.ShapeRange objShapeRange = objSlide.Shapes.Paste();
// TODO PARAMETER
objShapeRange.Left = 10;
objShapeRange.Top = 100;
slideIndex++;
titleIndex++;
}
}
return slideIndex;
}
有沒有人看到這個代碼的任何問題?
UPDATE
如果我改變這一行:
objChart.Copy();
這樣:
objChart.CopyPicture();
我沒有問題..可能是什麼造成的?