将图片写到excel中
来源:互联网 发布:c语言中求绝对值程序 编辑:程序博客网 时间:2024/06/05 05:38
using NPOI.HPSF;
using NPOI.HSSF.UserModel;
using NPOI.HSSF.Util;
using NPOI.SS.UserModel;
/// <summary>
/// 写数据到Excel
/// </summary>
/// <param name="dt">数据列表</param>
private void ExportResult(DataTable dt, string
colName)
{
string PICTURE_FILE_PATH = @"D:/IIS FOLDER
/web/files/templates/tmpJP.jpg";
try
{
if (null != dt)
{
HSSFWorkbook hssfworkbook;
//文件名称
string filename = "TWImage_" +
DateTime.Now.ToString("yyyyMMddHHmm") + ".xls";
Response.ContentType =
"application/vnd.ms-excel";
Response.AddHeader("Content-
Disposition", string.Format("attachment;filename=
{0}", filename));
Response.Clear();
hssfworkbook = new HSSFWorkbook();
HSSFSheet excelSheet = (HSSFSheet)
hssfworkbook.CreateSheet("Image_" +
DateTime.Now.ToString("yyyyMMdd"));//创建一个工作页
HSSFPatriarch patriarch =
(HSSFPatriarch)excelSheet.CreateDrawingPatriarch
();//每个Excel只能创建一个画板
excelSheet.SetColumnWidth(1, 15 *
256);//设置列宽
#region
Row rowHead = excelSheet.CreateRow
(0);
rowHead.CreateCell(0).SetCellValue
("品番");
rowHead.CreateCell(1).SetCellValue
("メイン画像");
#endregion
for (int i = 1; i < dt.Rows.Count +
1; i++)
{
Row row = excelSheet.CreateRow
(i);
excelSheet.GetRow(i).Height =
78 * 20;
#region
DataRow dtrow = dt.Rows[i - 1];
row.CreateCell(0).SetCellValue
(dtrow[colName].ToString());
#endregion
try
{
//第一个单元格添加图片
string strItemNo =
Convert.ToString(dtrow[colName]);
//if (ViewState
["numberall"] != null && ViewState
["numberall"].ToString().Equals(strItemNo))
//{
// continue;
//}
string ImgUrl = "";
//"http://www.dreamvs.jp/images/article/" +
strItemNo + "/" + strItemNo + "-01.jpg?x=100";//日
本服务器上图片地址
//ImgUrl = @"D:/ImgServer
/article_images/" + strItemNo + @"/" + strItemNo +
@"-01.jpg"; //改之前的+ @"m"
ImgUrl =
@"http://www.dreamvs.jp/images/article/" +
strItemNo + @"/" + strItemNo + @"-01.jpg";
//ImgUrl = @"/
/192.168.9.70/ImgServer/article_images/" +
strItemNo + @"/" + @"m" + strItemNo + @"-01.jpg";
//ImgUrl = @"/
/192.168.9.70/ImgServer/article_images/" +
strItemNo + @"/" + @"m" + strItemNo + @"-01.jpg";
System.Net.WebClient wc =
new System.Net.WebClient();
string Default_Img = @"D:
/IIS FOLDER/web/files/templates
/tmpShiyousyo.jpg";//改之前的
//string Default_Img = @"/
/192.168.9.70/ImgServer/article_images/" +
strItemNo + @"/" + @"m" + strItemNo + @"-01.jpg";
wc.DownloadFile(ImgUrl,
PICTURE_FILE_PATH);
wc.Dispose();
ImgUrl = PICTURE_FILE_PATH;
if (!File.Exists
(PICTURE_FILE_PATH))
{
ImgUrl = Default_Img;
}
HSSFClientAnchor anchor =
new HSSFClientAnchor(0, 0, 0, 0, 1, i, 2, i + 1);
HSSFPicture picture;
int picMain =
excelSheet.Workbook.AddPicture(File.ReadAllBytes
(ImgUrl), PictureType.JPEG);
picture = (HSSFPicture)
patriarch.CreatePicture(anchor, picMain);
//picture.LineStyle =
HSSFPicture.LINESTYLE_NONE;
//picture.Resize();//图片设
置为原始大小
if (ViewState["numberall"]
== null || !ViewState["numberall"].Equals
(strItemNo))
ViewState["numberall"]
= strItemNo;
}
catch { continue; }
}
ViewState["numberall"] = null;
MemoryStream file = new
MemoryStream();//1024*1024*100
//FileStream fs = new FileStream
(@"c:/temp.dat", FileMode.OpenOrCreate,
FileAccess.ReadWrite,FileShare.ReadWrite);
hssfworkbook.Write(file);
Response.BinaryWrite
(file.GetBuffer());
Response.End();
}
}
catch (Exception ex)
{
ComMethod.setMsg(1, "生成Excel异常(" +
ex.Message + ")", lblMessage);
}
finally
{
if (File.Exists(PICTURE_FILE_PATH))
{
File.Delete(PICTURE_FILE_PATH);
}
}
}
- 将图片写到excel中
- 将数据写到Excel 中
- 将图片写到excel里的函数 c#.net
- 用C#将DataGridView中数据写到Excel
- php 将excel文件写到word中
- poi 写图片到excel
- c# 将数据库(包括图片)备份到EXCEL中
- 将图片和文字写到pdf文件中
- 将本地图片文件写到模拟器的相册中
- 用BASE64将二进制图片写到本地文件中
- c# Aspose 图片处理(将Excel单元格中的图片拷贝到另一个Excel文件中)
- 将List数据写到EXCEL
- 13.5.1 将数据写到 Excel
- 写数据到Excel中
- 关于 jsp servlet 将Excel表格内容写进数据库,将数据库导出到Excel中。(一)
- 关于 jsp servlet 将Excel表格内容写进数据库,将数据库导出到Excel中。(二)
- 关于 jsp servlet 将Excel表格内容写进数据库,将数据库导出到Excel中。(一)
- Excel表格怎么批量导出图片将文件中的图片导出到文件夹中
- 看老外程序员如何向妻子解释OOD
- 以客户的名义来思考
- Axis2 探索 AXIOM
- java 调用.net webService
- Android(五)数据存储之五网络多线程断点下载-世事如棋,乾坤莫测,笑 ...  -  棒槌网@Android开发论坛 - Powered by
- 将图片写到excel中
- WPF 的PROGRESSBAR绑定
- 熬过去,我们结婚
- “资源供应区”方案失败 云服务故障切换成Amazon巨大挑战
- ZJU 1004 Anagrams by Stack
- AXIS2中OMElement和Java对象之间的转换
- 如何成为优秀的研发人员
- 系统时间计算
- 字典树(trie树)