我尝试使用带有Picture和CellAnchor的ExcelLibrary将图像插入到Excel文档中,图像不显示

时间:2015-09-30 21:55:01

标签: c# excellibrary

我调整了很多,所以如果上下文遗失了抱歉,我就会编辑。

我没有收到任何错误,而且图片确实似乎已添加到工作簿对象中...

我也尝试过插入新的单元格(),但是当我保存到流中时,它会获得一个无效的单元格值。

我使用此链接作为参考:https://excellibrary.googlecode.com/svn-history/r51/trunk/src/ExcelLibrary.WinForm/Form1.cs

Workbook wBook = new Workbook();
Worksheet wSheet = new Worksheet();
//getting my file
var path = context.Server.MapPath("~/data/default/content/logo.bmp");
pic.Image = ExcelLibrary.SpreadSheet.Image.FromFile(path);
pic.TopLeftCorner = new CellAnchor(5, 1, 0, 0);
pic.BottomRightCorner = new CellAnchor(7, 5, 592, 243);

wSheet.AddPicture(pic);
wSheet.Cells[rows, 0] = new Cell("some text");
wBook.Worksheets.Add(wSheet);

context.Response.AddHeader("Content-Disposition","Attachment;Filename=PlattShoppingCart.xls");
context.Response.ContentType = "application/vnd.ms-excel";
MemoryStream stream = new MemoryStream();
wBook.SaveToStream(stream);
context.Response.BinaryWrite(stream.ToArray());

2 个答案:

答案 0 :(得分:1)

question and answer使用Microsoft.Interop Excel,但它可以完成相同的任务。可能不是你需要的答案,但我让它工作得很好。当然,我已经使用了互操作的东西,只需稍微修改代码就可以使它工作。

我想知道您是否忘记添加ExcelLibrary等效的

pic.Placement = // Can be any of Excel.XlPlacement.XYZ value

答案 1 :(得分:0)

我不知道它是否只是我或它实际上不在文档中的任何地方,但* .bmp,* .jpeg,* .gif'不受支持,只需将其转换为.png即可。 ....

感谢您的链接,因为这是将其与其他方法进行比较的经验。 如果您发现自己已经走到这一步并且仍然存在问题,可以使用以下链接:

http://www.codeproject.com/Questions/793324/How-Do-I-Insert-Jpg-Image-From-File-Stream

http://www.codeproject.com/Questions/84487/How-to-insert-a-picture-image-in-XML-spreadsheet

How Do I Create a System.Windows.Media.ImageSource From a Byte Array?