Я делаю что-то похожее - создаю диаграмму с диаграммой ms, отображаю ее на веб-странице вместе с другой HTML-разметкой (таблицами данных), а затем пользователь может экспортировать ее в PDF или Excel. Чтобы сделать это и сохранить то же изображение диаграммы, мой код сохраняет диаграмму на сервере как изображение .png, а затем, если пользователь хочет экспортировать страницу, мой код вызывает это изображение в документе экспорта (в формате PDF или Excel). ) и отображение его с тегом.
Это соответствующий код, который сохраняет диаграмму на сервере:
// save the finished image to a folder, so the PDF can retrive it later
v_chart.SaveImage(context.Server.MapPath(String.Concat(@"charts\chartimage_", v_runtimeReportKey, "_", v_chartID, ".png")));
// output the finished image to the browser
context.Response.Clear();
context.Response.ContentType = "image/png";
// following works fine with IIS 7 (Windows 7, or 2008 Server)
//v_chart.SaveImage(context.Response.OutputStream, ChartImageFormat.Png);
// must use the following for IIS 6 (Windows 2003 Server)
using(MemoryStream v_stream = new MemoryStream()){
v_chart.SaveImage(v_stream, ChartImageFormat.Png);
v_stream.WriteTo(context.Response.OutputStream);
}