`
mqzsweet
  • 浏览: 135146 次
  • 性别: 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模板

    1. **创建工作簿对象**:使用`XSSFWorkbook`类可以创建一个新的Excel工作簿对象。如果要从模板读取,可以用`OPCPackage`打开模板文件,然后用`XSSFWorkbook`的构造函数加载。 2. **读取模板工作表**:使用`getSheet...

    java使用POI操作excel (支持excel2007)

    创建一个新的Excel工作簿,你可以使用`XSSFWorkbook`类: ```java import org.apache.poi.xssf.usermodel.XSSFWorkbook; XSSFWorkbook workbook = new XSSFWorkbook(); ``` 4. **创建工作表** 在工作簿中...

    使用POI操作Excel文件(写)

    在本文中,我们将深入探讨如何使用Apache POI来创建和修改Excel工作簿,特别是进行写操作。 首先,要使用Apache POI,你需要将其添加到你的项目依赖中。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: `...

    POI操作Excel常用方法总结

    2. **创建Excel工作簿**: 使用`XSSFWorkbook`类创建一个新的XLSX格式的工作簿,或者使用`HSSFWorkbook`类创建一个旧版的XLS格式的工作簿。例如: ```java Workbook workbook = new XSSFWorkbook(); // 对于.xlsx...

    java 通过poi操作excel jar包

    1. **创建Excel文件**:可以使用HSSFWorkbook(适用于XLS格式)或XSSFWorkbook(适用于XLSX格式)类来创建一个新的Excel工作簿。 2. **读取Excel文件**:通过打开一个现有的工作簿文件,可以访问其工作表、行、列和...

    POI操作Excel完美生成水印

    3. **插入图片**:加载Excel工作簿后,你可以使用Sheet对象的createDrawingPatriarch()方法创建一个绘图父元素,这是在Excel工作表上添加图形的起点。接下来,使用ClientAnchor类来定位和设置图片的大小,并使用...

    poi操作excel所需完整jar包

    这些对象代表了一个Excel工作簿的整体,你可以通过它们来创建、读取和修改工作表。 2. **Sheet对象**:工作簿中包含了多个Sheet对象,每个Sheet对应Excel中的一个工作表。你可以通过工作簿的createSheet()方法来...

    POI操作Excel的封装

    例如,可以使用反射动态地根据Excel工作表的列名创建对应的Java对象属性,或者在不知道具体类结构的情况下解析Excel数据。 约定通常是在封装过程中设定的一系列规则,这些规则定义了如何将Excel文件与Java对象相互...

    使用poi从数据库导出excel表的示例

    3. **使用Apache POI创建Excel工作簿**:在Java代码中,导入必要的POI库,然后创建一个HSSFWorkbook对象(对于老版本的XLS格式)或XSSFWorkbook对象(对于新版本的XLSX格式)。这将是我们的Excel文件的容器。 4. **...

    poi 操作excel案例 直接运行 适合参考

    Apache POI是一个开源的Java库,它允许开发者创建、修改和显示Microsoft Office格式的文件,包括Excel工作簿(XLS和XLSX)。在这个案例中,用户可以学习如何在Java环境中读取、写入或修改Excel数据。 描述中提到...

    java的poi生成excel图表demo

    在Java中,它允许开发者创建、修改和读取Excel工作簿、工作表以及单元格的数据。POI库不仅支持基本的文本和数字操作,还支持更高级的功能,如公式计算、样式设置和图表创建。 2. **创建Excel图表** 要生成Excel图表...

    poi excel poi excel poi excel

    #### 三、使用 POI 创建和读取 Excel 文件 为了使用 POI 操作 Excel 文件,首先需要准备以下环境: 1. **JDK 版本**:至少需要 JDK 1.4 或更高版本。 2. **POI 库**:下载 POI 库,可以从 Apache 官方网站获取:...

    Java Poi 操作excel的API 好用

    使用`WorkbookFactory.create()`方法可以创建一个新的Excel工作簿对象,然后通过工作簿对象创建工作表。 2. 读取Excel工作簿 同样,使用`WorkbookFactory.create()`方法,但传入已存在的Excel文件,可以读取工作簿...

    java使用poi操作excel

    2. **创建 Excel 工作簿** 使用 `WorkbookFactory` 类的静态方法 `create()` 可以从文件或流创建一个新的 `Workbook` 对象,这是操作 Excel 的起点。 ```java FileInputStream fis = new FileInputStream("path_...

    POI使用Excel模板文件循环输出行并导出Excel

    4. **保存和关闭**: 在所有数据写入后,我们需要保存到新的Excel文件并关闭工作簿和输入流,以释放资源。 ```java FileOutputStream out = new FileOutputStream("output.xlsx"); workbook.write(out); out.close()...

    poi操作excel2007

    你可以使用`XSSFWorkbook`类来创建一个新的Excel工作簿。 ```java import org.apache.poi.xssf.usermodel.XSSFWorkbook; XSSFWorkbook workbook = new XSSFWorkbook(); ``` 2. **创建Sheet对象**:每个工作簿...

    poi读写excel+poi总结

    2. 创建Excel工作簿 使用POI创建Excel文件,首先要创建Workbook对象,对应Excel中的工作簿。对于.xls文件,我们可以使用HSSFWorkbook,而对于.xlsx文件,我们需要使用XSSFWorkbook。 3. 添加工作表 Workbook对象...

    poi操作excel表格导入和导出

    1. 创建Workbook对象:首先,你需要创建一个Workbook对象,这相当于Excel文件中的工作簿。对于.xls文件,使用HSSFWorkbook;对于.xlsx文件,使用XSSFWorkbook。 2. 创建Sheet对象:Workbook对象包含多个Sheet,每个...

    使用POI向Excel模板动态添加内容

    2. **创建工作簿对象**:使用`WorkbookFactory.create()`方法加载Excel模板文件,创建一个`Workbook`对象,它是Excel文档的顶级容器。 3. **获取工作表**:通过`Workbook`对象的`getSheetAt()`或`getSheet()`方法...

    java利用poi操作excel所需要的jar包

    Java中的Apache POI库是一个非常流行的工具,用于读取、写入和修改Microsoft Office格式的文件,特别是Excel工作簿(.xlsx和.xls)。在标题和描述中提到的"java利用poi操作excel所需要的jar包"是POI项目的核心依赖,...

Global site tag (gtag.js) - Google Analytics