索益Mike的excel商品操作

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using NPOI;
using NPOI.SS.UserModel;namespace Web.Excel
{public partial class t1 : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){string importExcelPath = "E:\\1.xlsx";string exportExcelPath = "E:\\export.xlsx";IWorkbook workbook = WorkbookFactory.Create(importExcelPath);ISheet sheet = workbook.GetSheetAt(0);//获取第一个工作薄//数据全部加载到ds中,开始分析。//找出列数Name    Subtotal    Shipping    Total   Shipping Method Lineitem quantity   Lineitem nameint Name, Subtotal, Shipping, Total, ShippingMethod, Lineitemquantity, Lineitemname, count = 0;Name = Subtotal = Shipping = Total = ShippingMethod = Lineitemquantity = Lineitemname = -1;IRow row = (IRow)sheet.GetRow(0);//获取第一行//ICell cell = (ICell)row.GetCell(0);//string s = cell.ToString();// Response.Write("<script>alert('表格内没有数据"+ s + "');</script>");//设置第一行第一列值,更多方法请参考源官方Demo//row.CreateCell(0).SetCellValue("test1");//设置第一行第一列值for (int i = 0; i < row.LastCellNum; i++){ICell cell = (ICell)row.GetCell(i);string s = cell.ToString();//Response.Write("<script>alert('" + s + "');</script>");if (s == "Name"){Name = i; count++;}if (s == "Subtotal"){Subtotal = i; count++;}if (s == "Shipping"){Shipping = i; count++;}if (s == "Total"){Total = i; count++;}if (s == "Shipping Method"){ShippingMethod = i; count++;}if (s == "Lineitem quantity"){Lineitemquantity = i; count++;}if (s == "Lineitem name"){Lineitemname = i; count++;}}if (count != 7){Response.Write("<script>alert('7个没有都找到');</script>");}else{//Response.Write("<script>alert('" + Lineitemquantity + Name + Lineitemname + "');</script>");}count = 0;//解决tip问题for(int i=1;i<= sheet.LastRowNum; i++){row = (IRow)sheet.GetRow(i);//获取行ICell cell = (ICell)row.GetCell(Lineitemname);string s = cell.ToString();if (s== "Tip"){//获取下一行的Lineitem name和Lineitem quantity填充本行IRow rowNext = (IRow)sheet.GetRow(i+1);//获取行ICell cellNext = (ICell)rowNext.GetCell(Lineitemname);string sNext = cellNext.ToString();row.CreateCell(Lineitemname).SetCellValue(sNext);//用下一行名称填充本行cellNext = (ICell)rowNext.GetCell(Lineitemquantity);sNext =cellNext.ToString();row.CreateCell(Lineitemquantity).SetCellValue(Convert.ToInt32(sNext));//用下一行数量填充本行sheet.ShiftRows(i+2, sheet.LastRowNum, -1);//sheet.shiftRows(startRow, endRow, shiftCount)参数说明://其含义是指从startRow EndRow往上移动或者是往下移动,当shiftcount为 - 1时表示的是上移,当为正时表示的是下移,通过移动来彻底删除。}count++;}Response.Write("<script>alert('"+ count + "');</script>");for (int i = 1; i < sheet.LastRowNum; i++){row = (IRow)sheet.GetRow(i);//获取本行ICell cell = (ICell)row.GetCell(Name);string name = cell.ToString();cell = (ICell)row.GetCell(Lineitemquantity);int quantity =Convert.ToInt32(cell.ToString());IRow rowNext = (IRow)sheet.GetRow(i+1);//获取下一行ICell cellNext = (ICell)rowNext.GetCell(Name);string nameNext = cellNext.ToString();cellNext = (ICell)rowNext.GetCell(Lineitemquantity);int quantityNext = Convert.ToInt32(cellNext.ToString());if(name == nameNext){// Response.Write("<script>alert('1');</script>");row.CreateCell(Lineitemquantity).SetCellValue(quantity+ quantityNext);if (sheet.LastRowNum < i + 2)//处理最后一单订单多行问题{sheet.ShiftRows(0, sheet.LastRowNum-1, 1);sheet.ShiftRows(1, sheet.LastRowNum, -1);break;} sheet.ShiftRows(i + 2, sheet.LastRowNum, -1);i--;}}//导出excelFileStream fs = new FileStream(exportExcelPath, FileMode.Create, FileAccess.ReadWrite);workbook.Write(fs);fs.Close();}}
}

索益Mike的excel商品操作相关推荐

  1. 全国计算机表格试题及答案,全国计算机等级考试四、Excel电子表格操作试题.doc...

    四.Excel电子表格操作试题(含典型操作要点) (一)练习题 试题一:打开[Excel操作试题]文件夹,找到指定文件,完成以下操作: (1)打开工作薄文件EXCEL-001.XLS,将工作表shee ...

  2. Excel相关操作(一)POI和easyExcel学习整理

    视频链接:[狂神说Java]POI及EasyExcel一小时搞定通俗易懂 主要内容:如何用java操作excel,主要涉及到POI和easyExcel这两个 学习代码:https://pan.baid ...

  3. python能实现excel什么功能_Python pandas对excel的操作实现示例

    最近经常看到各平台里都有Python的广告,都是对excel的操作,这里明哥收集整理了一下pandas对excel的操作方法和使用过程.本篇介绍 pandas 的 DataFrame 对列 (Colu ...

  4. python处理excel表格实例-python2 对excel表格操作完整示例

    本文实例讲述了python2 对excel表格操作.分享给大家供大家参考,具体如下: #!/usr/bin/env python2 # -*- coding: utf-8 -*- "&quo ...

  5. python处理excel教程实例-python 读写excel文件操作示例【附源码下载】

    本文实例讲述了python 读写excel文件操作.分享给大家供大家参考,具体如下: 对excel文件的操作,python有第三方的工具包支持,xlutils,在这个工具包中包含了xlrd,xlwt等 ...

  6. setcellvalue 格式_POI对EXCEL的操作【重点:如何设置CELL格式为文本格式】

    实际开发过程中通常用到的就是从数据库导出EXCEL表格了,JXL可以这样做,其实POI也可以(关于JXL与POI的异同可访问我之前总结的文章),之前写过POI对七种文档(当然也包括EXCEL)的内容读 ...

  7. python对excel操作简书_Python实现EXCEL常用操作——pandas简介

    知乎的代码块太丑了,这里的内容就更新到简书了Python实现EXCEL常用操作--pandas简介​www.jianshu.com EXCEL是日常办公最常用的软件,然而遇到数据量特别大(超过10W条 ...

  8. POI对EXCEL的操作【重点:如何设置CELL格式为文本格式】

    http://javacrazyer.iteye.com/blog/894758 实际开发过程中通常用到的就是从数据库导出EXCEL表格了,JXL可以这样做,其实POI也可以(关于JXL与POI的异同 ...

  9. python对excel增删改查_Python之Excel 优雅操作手法 精选

    前言 一直想写这一篇,却又一直被事情拖着. 我带的一个项目团队正好进行到这一块儿了,正好,将这事儿办了,以后要用的时候也不用到处找. 半点不求人. 慢慢看,优雅的操作都在后头 Tips:当下2020年 ...

  10. java excel 操作 poi_Java使用apache poi进行excel相关操作

    一.基本介绍 1.1.Apache POI介绍 Apache POI是一个可以进行微软的文档进行开源库,可以操作的文档类型包括word.ppt.excel.visio.outlook.... 本文主要 ...

最新文章

  1. Linux内核抢占实现机制分析【转】
  2. java的drawstring_java-Graphics.drawString()未绘制
  3. Crawler:利用Beautifulsoup库+find_all方法实现下载在线书架小说《星祖的电影世界》
  4. springboot使用webjars引入jquery
  5. 完全二叉树基本操作(不含遍历)
  6. IP-GUARD内网安全监管系统
  7. .sh是什么语言_为什么《山海经·中次二经》中,把“西王母”叫做“马腹”?...
  8. 两个链表是否相交 + 赛马(分桶)
  9. C# DevExpress组件 - ChartControl图表控件
  10. 拉普拉斯方程(Laplace's equation)-- 更新中
  11. java nio 按行读取_Java NIO按行读取文本文件
  12. 动态逆序对:CDQ分治
  13. Android apk安装报错:应用未安装 软件包似乎已损坏
  14. java ligerui_[Java教程]ligerUI
  15. String Permutation
  16. Python入门刷题第三天(类和对象和继承)
  17. python 英语翻译 excel_python批量将excel内容进行翻译、写入
  18. java hypot_Java StrictMath hypot()用法及代碼示例
  19. P5594 【XR-4】模拟赛 java题解
  20. javascript实现2048小游戏

热门文章

  1. IIS7.5下的web.config 404应该如何配置
  2. jscript对URL参数进行编码与解码
  3. 谈谈基于SQL Server 的Exception Handling[中篇]
  4. C++工业设备日志记录系统
  5. JAVA语言基础-反射、特性
  6. 笔记--《谷歌和亚马逊是怎么做产品的》第一至三章
  7. Ubuntu 16.04服务器 软件的安装及配置
  8. 文件上传时判断是否为图片
  9. C# WinFrom 对字符进行UTF-8编码
  10. 17.卷1(套接字联网API)--- ioctl 操作