【问题标题】:Can i create an image from an excel file using c#我可以使用c#从excel文件创建图像吗
【发布时间】:2013-06-03 15:22:54
【问题描述】:
有没有办法在不使用 office.interop dll 的情况下拍摄 excel 文件的图像?
我成功地将一个excel文件嵌入到word文档中,但是我需要在word文档上显示这个excel文件的图像。使用文件流,我可以读取任何图像并使用 open xml 嵌入到 word 文档中。剩下的最后一件事是从 excel 文件创建图像。
【问题讨论】:
标签:
c#
image
excel
openxml
【解决方案1】:
SpreadsheetGear 2012 for .NET 可以做到:
using SpreadsheetGear;
...
// Open workbook (SpreadsheetGear supports both XLS and XLSX/XLSM file formats)
IWorkbook workbook = Factory.GetWorkbook(@"C:\path\to\workbook.xlsx");
IWorksheet worksheet = workbook.Worksheets["Sheet1"];
// Create Image class, passing in desired range to render
SpreadsheetGear.Drawing.Image image = new SpreadsheetGear.Drawing.Image(worksheet.Cells["A1:D10"]);
// Create Bitmap of range
System.Drawing.Bitmap bitmap = image.GetBitmap();
// ... Insert into Word ...
如果您希望渲染这些对象的图像,Image 类也接受 IShape 和 IChart 对象。一旦你有了System.Drawing.Bitmap,你大概可以用它做任何你想做的事情,包括插入到 Word 文档中。您可以在Excel Chart and Range Imaging Samples 页面上找到更多示例。
免责声明:我为 SpreadsheetGear 工作。