可以加載一個Excel工作簿,並從圖表用幾行代碼返回圖像:
namespace GetChartImage
{
class Program
{
static void Main(string[] args)
{
// Open the workbook.
var workbook = SpreadsheetGear.Factory.GetWorkbook(@"t:\tmp\Chart.xlsx");
// Get a chart named "Chart 1" on the sheet named "Sheet1".
var chart = workbook.Worksheets["Sheet1"].Shapes["Chart 1"].Chart;
// Get a System.Drawing.Bitmap image of the chart.
var bitmap = new SpreadsheetGear.Drawing.Image(chart).GetBitmap();
// Save it to a file and launch just to see that it worked.
bitmap.Save(@"t:\tmp\Chart.png", System.Drawing.Imaging.ImageFormat.Png);
System.Diagnostics.Process.Start(@"t:\tmp\Chart.png");
}
}
}
的SpreadsheetGear不支持所有的Excel圖表功能(還),但你可以看到的有代表性的樣本它可以在活動ASP.NET「Dynamic Chart Gallery」示例here中做什麼,或者您可以下載免費試用版here並自行試用。
聲明:我自己的SpreadsheetGear LLC
Export方法只接受文件名作爲字符串。如果我的程序中有一個內存映射文件作爲對象,當_Chart.Export(「%TEMP%\ chart.png」)被調用時,操作系統是否會意識到它? – 2009-11-11 22:30:55
我的直覺說是的,windows會很聰明,但是我沒有嘗試過。 – 2009-11-11 23:00:03