有没有办法在不使用office.interop dll的情况下拍摄excel文件的图像? 我成功地将一个excel文件嵌入到word文档中,但我需要在word文档上显示这个excel文件的图像。使用文件流,我可以使用open xml读取任何图像并嵌入到word文档中。休息的最后一件事是从excel文件创建图像。
答案 0 :(得分: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工作。