当前位置: 首页 > news >正文

html5 网站开发网络营销网课

html5 网站开发,网络营销网课,永康网站开发公司,wordpress 视频教程由于数据方提供的数据在excel文件中不止有文字内容还包含图片信息,于是编写相关测试代码,读取excel文件内容及图片信息. 本文使用的是 NPOI-2.6.2 版本,此版本持.Net4.7.2;.NetStandard2.0;.NetStandard2.1;.Net6.0。 测试文档内容&#xf…

由于数据方提供的数据在excel文件中不止有文字内容还包含图片信息,于是编写相关测试代码,读取excel文件内容及图片信息.

本文使用的是 NPOI-2.6.2 版本,此版本持.Net4.7.2;.NetStandard2.0;.NetStandard2.1;.Net6.0+。

测试文档内容,如下图:

保存后的图片:

打开图片显示正常:

编写读取数据方法,代码如:

static public DataTable ReadExcel(string filePath, string _sDirImg)
{using (FileStream file = new FileStream(filePath, FileMode.Open, FileAccess.Read)){IWorkbook workbook = null;string sExt = Path.GetExtension(filePath).ToLower();if (sExt == ".xlsx"){workbook = new XSSFWorkbook(file);//新版本的Excel(.xlsx) }else{workbook = new HSSFWorkbook(file);//老版本的Excel(.xls) }// 读取第一个 SheetISheet sheet = workbook.GetSheetAt(0);if (sExt == ".xlsx"){fnReadImageXSSF(sheet, _sDirImg);//新版本的Excel(.xlsx) }else{fnReadImageHSSF(sheet, _sDirImg);//老版本的Excel(.xls) }// 创建 DataTableDataTable dataTable = new DataTable(sheet.SheetName);// 读取表头IRow headerRow = sheet.GetRow(0);for (int i = 0; i < headerRow.LastCellNum; i++){ICell cell = headerRow.GetCell(i);dataTable.Columns.Add(cell.ToString(), typeof(string));}// 读取数据行for (int rowNum = 1; rowNum <= sheet.LastRowNum; rowNum++){IRow row = sheet.GetRow(rowNum);DataRow dataRow = dataTable.NewRow();for (int i = 0; i < row.LastCellNum; i++){ICell cell = row.GetCell(i);if (null == cell) continue;dataRow[i] = cell.ToString();}dataTable.Rows.Add(dataRow);}return dataTable;}
}

编写对应不同版本的excel文件,读取图片方法,读取excel .xlsx文件内图片:

/// <summary>
/// 读取excel .xlsx文件内图片
/// </summary>
/// <param name="sheet"></param>
/// <param name="_sDirImg"></param>
static public void fnReadImageXSSF(ISheet sheet, string _sDirImg)
{// 读取图像信息foreach (XSSFShape shape in ((XSSFDrawing)sheet.DrawingPatriarch).GetShapes()){if (shape is XSSFPicture){XSSFPicture picture = (XSSFPicture)shape;// 获取图片所在单元格的行号和列号int rowIndex = picture.GetPreferredSize().Row1;int colIndex = picture.GetPreferredSize().Col1;// 获取图像文件格式string imageFormat = picture.PictureData.MimeType switch{"image/jpeg" => "jpeg","image/png" => "png","image/gif" => "gif","image/bmp" => "bmp",_ => "jpg"};// 保存图像文件string outputFileName = _sDirImg + $"{rowIndex}-{colIndex}-{Guid.NewGuid()}.{imageFormat}";using (FileStream imageFile = new FileStream(outputFileName, FileMode.Create)){imageFile.Write(picture.PictureData.Data, 0, picture.PictureData.Data.Length);}Console.WriteLine($"Saved image: {outputFileName}");}}
}

读取excel .xls文件内图片,代码如下:

/// <summary>
/// 读取excel .xls文件内图片
/// </summary>
/// <param name="sheet"></param>
/// <param name="_sDirImg"></param>
static public void fnReadImageHSSF(ISheet sheet, string _sDirImg)
{// 读取图像信息foreach (HSSFShape shape in ((HSSFPatriarch)sheet.DrawingPatriarch).Children){if (shape is HSSFPicture){HSSFPicture picture = (HSSFPicture)shape;// 获取图片所在单元格的行号和列号int rowIndex = picture.GetPreferredSize().Row1;int colIndex = picture.GetPreferredSize().Col1;// 获取图像文件格式string imageFormat = picture.PictureData.MimeType switch{"image/jpeg" => "jpeg","image/png" => "png","image/gif" => "gif","image/bmp" => "bmp",_ => "jpg"};// 保存图像文件string outputFileName = _sDirImg + $"{rowIndex}-{colIndex}-{Guid.NewGuid()}.{imageFormat}";using (FileStream imageFile = new FileStream(outputFileName, FileMode.Create)){imageFile.Write(picture.PictureData.Data, 0, picture.PictureData.Data.Length);}Console.WriteLine($"Saved image: {outputFileName}");}}
}

正常处理应该是读取到图片保存成功后,处理datatable图片列的相关地址,如:uploads/xxx/xx.jpg ,返回保存在服务器上的地址,以便前端访问或保存到数据库等,本文并没有处理,有需要的伙伴自行处理吧,希望本文对你有帮助。

http://www.yidumall.com/news/85528.html

相关文章:

  • 手机网站生成app软件维普网论文收录查询
  • wordpress脚注东莞seo建站
  • 做慕课的网站广州最新疫情最新消息
  • 建设企业网站找谁百度搜索风云榜下载
  • 中国十大货源批发网站关键词
  • 做app网站有哪些专业的营销团队哪里找
  • 银川微信网站制作一个新手怎么做电商
  • 代点任意广告链接网站公司网站设计图
  • 医疗网站建设案例网站优化方案设计
  • 怎么做几个版面的网站seo免费优化软件
  • 嘉兴网站北京优化推广
  • 用ps怎么做网站步骤石家庄网站seo外包
  • 新浪微博关联wordpress湖南网站seo
  • 房产网站代理新闻软文怎么写
  • 乐山的网站建设公司火蝠电商代运营公司
  • 遵义微商城网站建设平台网站seo推广员招聘
  • 做网站域名备案需要多久seo排名优化课程
  • 光明做网站拼多多网店代运营要多少费用
  • 福州高端网站制作seo就业
  • 互联网情况下做企业网站的有点谷歌官方app下载
  • 南宁网站建设策划外包金昌网站seo
  • 福州网站建设H5百度秒收录排名软件
  • 大连 找人做网站北京核心词优化市场
  • 吉安网站制作东莞网站seo优化
  • 网站开发创业计划书模板alexa排名查询统计
  • javaee就是做网站的吗seo关键词大搜
  • 有什么那个网站灰色关键词排名收录
  • 营销网站的主题 定位 修改建议深圳防疫措施优化
  • 网站优化的目的百度seo怎么提高排名
  • 营销网站建设软件下载如何用html制作网页