如何为 c# .Net 显示嵌入 aspose.word 的 oleObject 的内容
how to display content of oleObject that embeded in aspose.word for c# .Net
我创建了一个工作簿
Document doc = new Document();
var builder = new DocumentBuilder(doc);
Workbook workbook = new Workbook();
int i = workbook.Worksheets.Add();
Worksheet sheet = workbook.Worksheets[i];
然后创建我的单元格,然后通过 insertOleObject
方法将其插入到我的文档中:
MemoryStream memorystream = new MemoryStream();
workbook.Save(memorystream, Aspose.Cells.SaveFormat.Xlsx);
byte[] bytes = memorystream.ToArray();
Shape oleObject = builder.InsertOleObject(memorystream, "Excel.Sheet.2", false, null);
我希望我在工作簿中构建的工作表可以显示为 table,但这并没有发生。
请按照我在此处显示的那样再添加一行代码,它应该可以解决您的问题。让我们知道您的反馈。
C#
MemoryStream memorystream = new MemoryStream();
workbook.Save(memorystream, Aspose.Cells.SaveFormat.Xlsx);
//Add this line
memorystream.Position = 0;
这是完整的可运行代码供您参考。
标题:将 Microsoft Excel Ole Object 插入 Microsoft Word 文档
C#
Document doc = new Document();
var builder = new DocumentBuilder(doc);
Workbook workbook = new Workbook();
Worksheet sheet = workbook.Worksheets[0];
sheet.Cells["D3"].PutValue("This is sample data.");
sheet.Cells["J20"].PutValue("End");
MemoryStream memorystream = new MemoryStream();
workbook.Save(memorystream, Aspose.Cells.SaveFormat.Xlsx);
memorystream.Position = 0;
Aspose.Words.Drawing.Shape shp = builder.InsertOleObject(memorystream, "Excel.Sheet.12", false, null);
doc.Save("Output.docx");
注意:我在 Aspose 担任开发人员布道师
我按照 shakeel 在他的回答的评论中所说的修改代码我完成了:
MemoryStream memorystream = new MemoryStream();
workbook.Save(memorystream, Aspose.Cells.SaveFormat.Xlsx);
byte[] bytes = memorystream.ToArray();
memorystream.Position = 0;
// Apply different Image and Print options
var options = new Aspose.Cells.Rendering.ImageOrPrintOptions
{
HorizontalResolution = 200,
VerticalResolution = 200
};
// Set Horizontal Resolution
// Set Vertical Resolution
var sr = new SheetRender(sheet, options);
MemoryStream imageStream = new MemoryStream();
sr.ToImage(0, imageStream);
System.Drawing.Image image = Image.FromStream(imageStream);
Shape oleObject = builder.InsertOleObject(memorystream, "Excel.Sheet.12", false, image);
我创建了一个工作簿
Document doc = new Document();
var builder = new DocumentBuilder(doc);
Workbook workbook = new Workbook();
int i = workbook.Worksheets.Add();
Worksheet sheet = workbook.Worksheets[i];
然后创建我的单元格,然后通过 insertOleObject
方法将其插入到我的文档中:
MemoryStream memorystream = new MemoryStream();
workbook.Save(memorystream, Aspose.Cells.SaveFormat.Xlsx);
byte[] bytes = memorystream.ToArray();
Shape oleObject = builder.InsertOleObject(memorystream, "Excel.Sheet.2", false, null);
我希望我在工作簿中构建的工作表可以显示为 table,但这并没有发生。
请按照我在此处显示的那样再添加一行代码,它应该可以解决您的问题。让我们知道您的反馈。
C#
MemoryStream memorystream = new MemoryStream();
workbook.Save(memorystream, Aspose.Cells.SaveFormat.Xlsx);
//Add this line
memorystream.Position = 0;
这是完整的可运行代码供您参考。
标题:将 Microsoft Excel Ole Object 插入 Microsoft Word 文档
C#
Document doc = new Document();
var builder = new DocumentBuilder(doc);
Workbook workbook = new Workbook();
Worksheet sheet = workbook.Worksheets[0];
sheet.Cells["D3"].PutValue("This is sample data.");
sheet.Cells["J20"].PutValue("End");
MemoryStream memorystream = new MemoryStream();
workbook.Save(memorystream, Aspose.Cells.SaveFormat.Xlsx);
memorystream.Position = 0;
Aspose.Words.Drawing.Shape shp = builder.InsertOleObject(memorystream, "Excel.Sheet.12", false, null);
doc.Save("Output.docx");
注意:我在 Aspose 担任开发人员布道师
我按照 shakeel 在他的回答的评论中所说的修改代码我完成了:
MemoryStream memorystream = new MemoryStream();
workbook.Save(memorystream, Aspose.Cells.SaveFormat.Xlsx);
byte[] bytes = memorystream.ToArray();
memorystream.Position = 0;
// Apply different Image and Print options
var options = new Aspose.Cells.Rendering.ImageOrPrintOptions
{
HorizontalResolution = 200,
VerticalResolution = 200
};
// Set Horizontal Resolution
// Set Vertical Resolution
var sr = new SheetRender(sheet, options);
MemoryStream imageStream = new MemoryStream();
sr.ToImage(0, imageStream);
System.Drawing.Image image = Image.FromStream(imageStream);
Shape oleObject = builder.InsertOleObject(memorystream, "Excel.Sheet.12", false, image);