我有一张 Excel 文件,其中包含多个图表。我从Excel中获取图表并将其保存到图片中。
我的代码:
workSheet = workBook.Sheets[1] as Excel._Worksheet;
Excel.ChartObjects chartObjects =(Excel.ChartObjects)workSheet.ChartObjects(Type.Missing);
int chartCount = chartObjects.Count;
for (int j = 1; j <= chartCount; j++)
{
Excel.ChartObject chart = (Excel.ChartObject)chartObjects.Item(j);
path = Path.Combine(Application.StartupPath, @"Img\" + chart.Chart.Name + ".bmp");
chart.Chart.Export(path, "BMP", true);
}
Run Code Online (Sandbox Code Playgroud)
但只导出空白图片。
请帮我
导出在调用 .Export 时在屏幕上至少部分可见的图表似乎会导致空白图像。
尝试在导出之前添加一行代码来激活要导出的图表(我遇到了同样的问题,这对我有用):
Excel.ChartObject chart = (Excel.ChartObject)chartObjects.Item(j);
path = Path.Combine(Application.StartupPath, @"Img\" + chart.Chart.Name + ".bmp");
chart.Activate(); //New line
chart.Chart.Export(path, "BMP", true);
Run Code Online (Sandbox Code Playgroud)