我正在使用以下代码将带有图像的数据导出到Excel。
密码
protected void ExportToExcel(object sender, EventArgs e) { //Get the data from database into datatable string strQuery = "select CustomerID, ContactName, City, PostalCode, display_picture" + " from customers"; SqlCommand cmd = new SqlCommand(strQuery); DataTable dt = GetData(cmd); //Create a dummy GridView GridView GridView1 = new GridView(); GridView1.AllowPaging = false; GridView1.DataSource = dt; GridView1.DataBind(); Response.Clear(); Response.Buffer = true; Response.AddHeader("content-disposition", "attachment;filename=DataTable.xls"); Response.Charset = ""; Response.ContentType = "application/vnd.ms-excel"; StringWriter sw = new StringWriter(); HtmlTextWriter hw = new HtmlTextWriter(sw); for (int i = 0; i .textmode { mso-number-format:\@; } "; Response.Write(style); Response.Output.Write(sw.ToString()); Response.Flush(); Response.End(); }
Excel正在正常下载。但问题是当我过滤Excel
中的数据时。Excel
中的图像位于Mobile中,但不使用单元格
属性调整大小。如何使图像与属性,移动和大小与单元格
?
EasyXLS是一个库,它还导出带有图像的xlsx和xls文件。
//Create a workbook
ExcelDocument workbook = new ExcelDocument();
//Add a worksheet
ExcelWorksheet worksheet = new ExcelWorksheet("Gridview");
workbook.easy_addWorksheet(worksheet);
//Add the gridview to the worksheet
DataSet dataSet = new DataSet();
dataSet.Tables.Add((DataTable)GridView1.DataSource);
worksheet.easy_insertDataSet(dataSet);
//Add an image
worksheet.easy_addImage("image.jpg", "A10");
//Exporting gridview with image
workbook.easy_WriteXLSXFile("DataTable.xlsx");
有关插入图像的更多信息,请访问:
http://www.easyxls.com/manual/basics/excel-image-import-export.html
如果映像字节是从数据库加载的,则需要将映像临时保存在计算机本地。
您还可以检查如何将gridview导出到excel,以了解有关格式化数据的更多信息。
您的代码根本不创建Excel文件,而是创建HTML
使用像EPPlus这样的库创建一个真正的Excel文件要简单得多,也便宜得多。对于初学者,您可以直接从数据表填充工作表
protected void ExportToExcel(object sender, EventArgs e)
{
///...
DataTable dt = GetData(cmd);
using (ExcelPackage pck = new ExcelPackage())
{
//Create the worksheet
var ws = pck.Workbook.Worksheets.Add("Demo");
//Load the datatable into the sheet, starting from cell A1.
//Print the column names on row 1
ws.Cells["A1"].LoadFromDataTable(dt, true);
//That's it!
//Write it back to the client
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AddHeader("content-disposition", "attachment; filename=ExcelDemo.xlsx");
Response.BinaryWrite(pck.GetAsByteArray());
}
}
您可以使用图形添加图片。添加图片
方法:
ExcelPicture pic = ws.Drawings.AddPicture("pic1", new FileInfo("PathToMyImage.png"));
结果是一个xlsx
文件,它是一个压缩XML文件包。这意味着它实际上比
这就是错误的样子-
我正在尝试导出一个包含som映像的java项目,但导出后映像并不显示。我看过这些类似的问题和答案: Eclipse导出的Runnable JAR不显示图像 在Eclipse(Java)中用JAR导出图像 当我从Eclipse运行程序时,图像会显示出来,但当我导出它时,它们就消失了。我做错了什么?我真的觉得我什么都试过了,但也许我遗漏了一些简单的细节? 谢谢!
我编写了以下简单的C#控制台应用程序,用于从Excel工作簿导出所有图表。它工作正常,除非打开文档后图表没有滚动到,在这种情况下会生成一个空的图像文件。 我尝试了几次滚动到该对象的失败尝试;程序底部注释掉的行(
我想使用Android数据绑定设置图像。我已经阅读了很多关于这方面的教程,但图片仍然没有出现。 在我的模型中,我有以下方法: 我还应该提到“III”、“Image-”url永远不会打印,所以问题不在于Glide。 这是我的xml: maleIcon是一个url字符串
我在下面的帖子中提到了这个问题和我的答案:来自Apache FOP 1.1和Java的PDF图像。我试图在每页上显示背景图像(有点像水印): 我让它在我的机器上从Eclipse和导出的jar中工作,如上面提到的帖子所述,但它不适用于我以外的机器。它总是说不支持该格式。 我正在使用 FOP 网站上的 FOP 1.1 罐子,并将它们全部添加到我的锁片中。也将它们与罐子一起导出。我没有解决方案的想法了。
我得到了一个字节数组,存储了一个已经解构的DICOM文件中的16位像素数据。我现在需要做的是以某种方式将像素数据转换/导出为TIFF文件格式。我使用imageio-tiff-3.3.2.jar插件来处理tiff转换/头数据。但是现在我需要将该图像数据数组打包到原始图像维度的BufferedImage中,以便将其导出到TIFF。但是BufferedImage似乎不支持16位图像。有没有办法解决这个问