`
mqzsweet
  • 浏览: 132598 次
  • 性别: Icon_minigender_1
  • 来自: 江苏
社区版块
存档分类
最新评论

使用POI操作EXCEL工作簿(三)

    博客分类:
  • JSP
阅读更多

POIExcelServlet     处理Excel文件

java 代码
  1. package it;   
  2.   
  3. import java.io.*;   
  4. import java.text.DecimalFormat;   
  5. import javax.servlet.*;   
  6. import javax.servlet.http.*;   
  7. import org.apache.poi.hssf.usermodel.*;   
  8. import java.util.Enumeration;   
  9.   
  10. public class POIExcelServlet extends HttpServlet {   
  11.  private String poiexcelPath = "";   
  12.   
  13.  public void destroy() {   
  14.   super.destroy(); // Just puts "destroy" string in log   
  15.   // Put your code here   
  16.  }   
  17.   
  18.  public void doGet(HttpServletRequest request, HttpServletResponse response)   
  19.    throws ServletException, IOException {   
  20.   createExcel(this.poiexcelPath,request);   
  21.   readExcel(this.poiexcelPath,response);   
  22.  }   
  23.   
  24.     
  25.  public void doPost(HttpServletRequest request, HttpServletResponse response)   
  26.    throws ServletException, IOException {   
  27.   doGet(request,response);   
  28.  }   
  29.     
  30.   
  31.  public void init(ServletConfig config) throws ServletException {   
  32.   super.init(config);   
  33.      
  34.   poiexcelPath = "e:\\jsp\\telx.xls";  //给定保存路径 
  35.  }   
  36.     
  37.  public void createExcel(String filename,HttpServletRequest request){   
  38.   String outputFile = filename;   
  39.   int i = 1;   
  40.   String name;   
  41.   String value;   
  42.      
  43.   try{   
  44.    HSSFWorkbook workbook = new HSSFWorkbook();    //建立EXCEL关联文件
  45.       
  46.    HSSFSheet sheet = workbook.createSheet("New Sheet");    //新建SHEET对象
  47.    HSSFRow row = sheet.createRow((short)0);     //新建ROW对象
  48.       
  49.    HSSFCell cell = row.createCell((short)0);    //新建CELL对象
  50.    cell.setCellType(HSSFCell.CELL_TYPE_STRING); //设置CELL属性(字符)  
  51.    cell.setCellValue("Parameter Name");         //给定值
  52.       
  53.    cell = row.createCell((short)1);   
  54.    cell.setCellType(HSSFCell.CELL_TYPE_STRING);   
  55.    cell.setCellValue("Parameter Value");   
  56.       
  57.    Enumeration enum1 = request.getParameterNames();   
  58.       
  59.    System.out.println(enum1.toString());   
  60.    while(enum1.hasMoreElements()){   
  61.     row = sheet.createRow((short)i);   
  62.     name = (String)enum1.nextElement();   
  63.     value = request.getParameter(name);   
  64.        
  65.     cell = row.createCell((short)0);   
  66.     cell.setCellType(HSSFCell.CELL_TYPE_STRING);   
  67.     cell.setCellValue(name);   
  68.        
  69.     cell= row.createCell((short)1);   
  70.     cell.setCellType(HSSFCell.CELL_TYPE_STRING);   
  71.     cell.setCellValue(value);   
  72.     i++;   
  73.    }   
  74.       
  75.    FileOutputStream fos = new FileOutputStream(outputFile);   
  76.       
  77.    workbook.write(fos);    //通过流生成EXCEL文件
  78.    fos.flush();   
  79.    fos.close();   
  80.    System.out.println("文件生成…");   
  81.   }catch(Exception e){   
  82.    System.out.println("error at createExcel"+e);   
  83.   }   
  84.      
  85.  }   
  86.     
  87.     
  88.  public void readExcel(String filename,HttpServletResponse response) throws IOException{   
  89.   DecimalFormat df = new DecimalFormat("#");    //建立格式化数字对象(#)单个任何数字
  90.   String fileToBeRead = filename;   
  91.   PrintWriter out = response.getWriter();   
  92.      
  93.   try{   
  94.    String strCell = null;   
  95.    HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileToBeRead));   
  96.    //给定构造函数为读入  
  97.    for(int numSheets = 0;numSheets
  98.     if(null!=workbook.getSheetAt(numSheets)){   
  99.      HSSFSheet aSheet = workbook.getSheetAt(numSheets);   
  100.      for(int rowNumOfSheet = 0;rowNumOfSheet<=aSheet.getLastRowNum();rowNumOfSheet++){   
  101.       if(null!=aSheet.getRow(rowNumOfSheet)){   
  102.        HSSFRow aRow =aSheet.getRow(rowNumOfSheet);   
  103.        for(short cellNumOfRow = 0;cellNumOfRow<=aRow.getLastCellNum();cellNumOfRow++){   
  104.         if(null!=aRow.getCell(cellNumOfRow)){   
  105.          HSSFCell aCell = aRow.getCell(cellNumOfRow);   
  106.          int cellType = aCell.getCellType();   
  107.          switch(cellType){   
  108.          case 0:   
  109.           strCell = df.format(aCell.getNumericCellValue());   
  110.           out.println(strCell+"     ");   
  111.           break;   
  112.          case 1:   
  113.           strCell = aCell.getStringCellValue();   
  114.           out.println(strCell+"     ");   
  115.           break;   
  116.          default:   
  117.           out.println("格式错误");   
  118.          }   
  119.         }   
  120.        }   
  121.        out.print("
    "
    );   
  122.       }   
  123.      }   
  124.     }   
  125.    }   
  126.   }catch(Exception e){   
  127.    System.out.println("error at readExcel"+e);   
  128.   }   
  129.  }   
  130. }   
  131.   
分享到:
评论

相关推荐

    poi实现EXCEL保护工作表实例代码.zip

    poi实现EXCEL保护工作表实例代码.zip是java使用poi实现excel保护工作表的实例代码,兼容.xls和.xlsx类型的excel,分别对其进行了处理。

    POI操作Excel常用方法总结.docx

    2. //得到Excel工作簿对象 3. HSSFWorkbook wb = new HSSFWorkbook(fs); 4. //得到Excel工作表对象 5. HSSFSheet sheet = wb.getSheetAt(0); 6. //得到Excel工作表的行 7. HSSFRow row = sheet.getRow(i); 8. ...

    使用poi方式导出excel(分多个sheet导出)

    使用poi方式导出excel,支持将多个工作簿合成一个Excel进行导出

    用poi创建Excel文件

    //创建新的Excel工作薄 HSSFSheet sheet=workbook.createSheet("效益指标");//新建一名为“效益指标”的工作表 HSSFRow row=sheet.createRow((short)0);//创建行 最顶端的行索引0的位置创建行 HSSFCell ...

    poi导出Excel实例

    1.//创建excel工作簿 Workbook wb = new HSSFWorkbook(); 解释:该方法相当于新建了一个excel文件,HSSFWorkbook : excel的文档对象。 2.//创建第一个sheet(页),命名为 page1 Sheet sheet = wb.createSheet(...

    poi-java生成excel文档

    java 创建Excel文档所需的所有的poi-jar包,简单易用。

    poi处理excel文件的小程序

    poi处理excel文件的小程序:自己写的poi处理excel文件的小程序,直接可以使用

    springMVC poi解析ajax上传excel文件,返回json对象\list数组

    解析通过MutilpartFile导入的Excel并解析里面数据,先判断文件的类型(excel处理有两种此处为两种通用)是.xls/.xlsx,采用Apache的POI的API来操作Excel,读取内容后保存到List中,再将List转Json(使用Linked,增删快...

    Apache的POI开发实例

    Apache的POI组件是Java操作Microsoft Office办公套件的强大API,其中对Word,Excel和PowperPoint都有支持,当然使用较多的还是Excel,因为Word和PowerPoint用程序动态操作的应用较少。那么本文就结合POI来介绍一下...

    使用Springboot实现excel的导入导出

    在Spring Boot中实现Excel的导入导出可以通过POI库来实现,POI是一个开源的Java库,用于处理Microsoft Office格式...将Excel写入响应流: 使用response.getOutputStream()获取输出流,然后将工作簿写入到输出流中.....

    excel-streaming-reader:使用Apache POI的流式Excel阅读器的易于使用的实现

    不幸的是,POI库中唯一可读取流工作簿的内容要求您的代码使用类似SAX的解析器。 该API缺少所有友好的类,如Row和Cell 。 该库用作该流API的包装,同时保留了标准POI API的语法。 继续阅读以了解它是否适​​合您。...

    POI导入导出EXCEL文件.(struts 1.x and struts2.x).doc

    web中使用POI导入导出EXCEL文件的例子 struts1.x的例子,struts2.x可以参考自己修改 1.action的写法 import java.io.*; import java.sql.*; import java.util.ArrayList; import javax.servlet....

    poi 3.7 和3.10

    //得到Excel工作簿对象 HSSFWorkbook wb = new HSSFWorkbook(fs); //得到Excel工作表对象 HSSFSheet sheet = wb.getSheetAt(0); //得到Excel工作表的行 HSSFRow row = sheet.getRow(i); //得到Excel工作表指定...

    POIDemo:这是 POIDemo,导入导出 Excel 的一些程序

    POIDemo1.java 如何创建工作簿 POIDemo2.java 如何创建 Sheet 页,导出 Excel POIDemo3.java 创建单元格,并给单元格赋值 POIDemo4.java 时间格式 POIDemo5.java 得到 excel输入流,并循环输出 POIDemo6.java 提取 ...

    java 导出excel(单、多工作薄)

    我在写这个功能的时候,找了好多资料,都没找到合适的,下面这个是我自己写的,有不到位的地方请原谅,在此分享下。

    ExcelKt:Apache POI Excel库上的Kotlin包装器,可使用kotlin构建器创建xlsx文件

    简单样式系统,使您可以使用Apache POI CellStyle系统来样式化工作簿,工作表,行或特定单元格 非常轻巧 安装 在您的build.gradle.kts或build.gradle添加以下内容 如果build.gradle.kts repositories { jcenter() ...

    Spring Boot中实现列表数据导出为Excel文件

    本文将详细介绍在Spring Boot框架中如何将列表数据导出为Excel文件。我们将通过Apache POI库来实现这一功能,并解释其背后的原理、提供完整的流程和步骤...这些模型都提供了读写Excel工作簿、工作表、单元格等的功能。

    ExcelToSWGDatatable:将格式正确的Excel工作簿和电子表格转换为SWG IFF数据表

    用于将格式正确的 Excel 工作簿和电子表格转换为 SWG IFF 数据表的 Python 程序 如何使用 要使用,请通过命令行启动 jar:(对于 Windows):java -jar ExcelSwgDatatable.jar 或者通过双击启动 start.bat(仅限 ...

    NPOI 2.3.0 package

    NPOI,就是POI的.NET版本。...XSSF/HSSFWorkbook:excel文件的工作簿, Isheet:excel文件的工作簿中的工作表, IRow:excel文件的工作簿中的工作表中的行, ICell:excel文件的工作簿中的工作表中的行中的单元格。

    HSSF:使用HSSF 对Excel导入导出的纯Java操作

    其中最常用于Excel工作簿(SS=HSSF+XSSF),Word文档(WP=HWPF+XWPF)和PPT演示文稿(SL=HSLF+XSLF).其中本文主要介绍使用Java读取和写入Excel文件(.xls格式)使用的HSSF. 最好还是使用SS组合,这样可以适应各种环境.下图为...

Global site tag (gtag.js) - Google Analytics