【问题标题】:Interop Excel Charts Exported to Image appear incomplete导出到图像的互操作 Excel 图表显示不完整
【发布时间】:2021-12-07 13:14:51
【问题描述】:

我正在尝试将图表导出到 .Net Azure 函数中的图像。我提到了this 链接。但 导出的图像显示不完整。

预期图像:

实际导出的图片:

.Net Core 3.1 Azure 函数项目

使用的 COM 参考:Microsoft Excel 16.0 对象库(版本 1.9)

身份:Interop.Microsoft.Office.Interop.Excel

代码:

var app = new Application();
var wkBook = app.Workbooks.Open(@"D:\MTA\Project_X.xlsx");
var wkSheet = (Worksheet)wkBook.Sheets["Overall MTA Chart"];
wkSheet.Select();
var charts = wkSheet.ChartObjects() as IEnumerable;
foreach (ChartObject item in charts)
{
    item.Select();
    var chart = (Chart)item.Chart;
    chart.Export($@"D:\MTA\{chart.Name}.png", "PNG", true);
}

【问题讨论】:

  • 这个三角形实际上是图表的一部分吗?还是只是漂浮在它面前?
  • 我认为它只是浮在前面。这就是我收到的所有要求。当我单击它时,excel 显示“自选图形 5”。有什么办法可以将整个组作为屏幕截图?
  • 您可以将这些形状组合在一起吗?

标签: c# excel .net-core excel-interop export-to-image


【解决方案1】:

我不确定 azure 函数是否支持 Interop.Microsoft.Office.Interop.Excel,因为这需要安装 excel。

我建议您使用不同的库来实现这一点。 (如果 azure 函数可以支持,这不是你的答案)

例如,如果您使用FreeSpire.XLS

var workbook = new Workbook();
workbook.LoadFromFile(workbookFileName, excel version);
var sheet = workbook.Worksheets[0];
var image = workbook.SaveChartAsImage(sheet, 0);
image.Save(chartImageFileName, ImageFormat.Png);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多