zoukankan      html  css  js  c++  java
  • JSP 用poi 读取Excel

    <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ page import="java.io.*,java.util.*" %>
    <%@ page import="org.apache.poi.hssf.usermodel.*" %>
    <%@ page import="org.apache.poi.poifs.filesystem.*" %>
    <%@ page import="org.apache.poi.ss.usermodel.CellType" %>
    
    
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Generate SQL </title>
    </head>
    <body>
    <h1>TemplateName <%= request.getParameter("TemplateName")%> </h1>
    <p>
    
            
            
            <%
                String templateName = request.getParameter("TemplateName"); 
                String srcTemplateName=templateName+"_src";
                String trgTemplateName=templateName+"_trg";
                String primaryKeyDefine="PK nvarchar(150)";
                String PrimaryKey ="PK";
                String FilterCondition="a.PK=b.PK";
                String SystemIdentity="WFS";
                String srcQuery="";
                String trgQuery="";
                String SQL ="INSERT INTO [dbo].[BusinessLogicCmpDefine]  ([TemplateName],[SrcTemplateName],[TrgTemplateName],[PrimaryKeyDefine],[PrimaryKey] ,[FilterCondition] ,[SystemIdentity])";
               
                SQL=SQL+" <br> VALUES ('" +templateName+ "','"+srcTemplateName+"','"+trgTemplateName+"','"+primaryKeyDefine+"','"+PrimaryKey+"','"+FilterCondition+"','"+SystemIdentity+"')";
                
                
                out.println(SQL);
               
             
    
    
              
            %>
           
    </p>
    <h2>View <%=srcTemplateName%> </h2>
    <p>
            Create view [dbo].[<%=srcTemplateName%>] 
            <br>
            as 
            <br>
            <%
            
            try (FileInputStream fileIn = new FileInputStream("c:\demo.xls")) {
                POIFSFileSystem fs = new POIFSFileSystem(fileIn);
                HSSFWorkbook wb = new HSSFWorkbook(fs);
                HSSFSheet sheet = wb.getSheetAt(0);
            
            
             
                for (int k = 1; k <= sheet.getLastRowNum(); k++) {
                    HSSFRow row = sheet.getRow(k);
                    if(row !=null){
                        HSSFCell cell = row.getCell(1);
                        if(cell==null){
                            out.println("no data<br>");
                        }else{
                            String value =cell.getStringCellValue();
    
                          
    
                           
                            if(value.equals(templateName)){
                               
                              
                                HSSFCell srcQueryCell = row.getCell(5);
                                srcQuery=srcQueryCell.getStringCellValue().replaceAll("
    |
    ","<br>");;
    
                                HSSFCell trgQueryCell = row.getCell(6);
                                trgQuery=trgQueryCell.getStringCellValue().replaceAll("
    |
    ","<br>");
                                out.println(srcQuery+"<br> ");
                             
                            }
                            
            
                        }
                    }
                }
            }
            %>
           
         
    </p>
    <h2>View <%=trgTemplateName%></h2>
    <p>
            Create view [dbo].[<%=trgTemplateName%>] 
            <br>
            as 
            <br>
            <%out.println(trgQuery+"<br> ");%>
    </p>
    
    <h2>Excute SQL</h2>
    <p>
           exec  USP_CompareR1AndR3Data '<%=templateName%>' ,'WFS'
    </p>
    <p>
            今天的日期是: <%= (new java.util.Date()).toLocaleString()%>
           
    </p>
    </body>
    </html>

     上面是今天下午刚学的代码,还不能兼容xlsx的格式,晚上学习的代码可以兼容xlsx的格式。下载的poi中有弟三方类库,需要放到tomcat的lib目录中才,并且使用下面的代码。

    <%--
      Created by IntelliJ IDEA.
      User: hellohongfu
      Date: 2017/12/21
      Time: 0:16
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%@page import="java.io.*,java.util.*"  %>
    <%@ page import="org.apache.poi.hssf.usermodel.*" %>
    <%@ page import="org.apache.poi.poifs.filesystem.*" %>
    <%@ page import="org.apache.poi.ss.usermodel.*" %>
    <%@ page import="org.apache.poi.xssf.usermodel.*" %>
    <html>
    <head>
        <title>excel demo</title>
    </head>
    <body>
    
    <%
        InputStream inp = new FileInputStream("c:\demo.xlsx");
        //InputStream inp = new FileInputStream("workbook.xlsx");
    
        Workbook wb = WorkbookFactory.create(inp);
        Sheet sheet = wb.getSheetAt(0);
        for (int k = 1; k <= sheet.getLastRowNum(); k++){
            Row row=sheet.getRow(k);
            Cell cell = row.getCell(1);
            if (cell != null){
                String value =cell.getStringCellValue();
                out.println("cell value:"+value+"<br>");
            }
    
        }
    
        Row row = sheet.getRow(2);
        Cell cell = row.getCell(3);
    
    
    
        out.println(cell.getStringCellValue());
        if (cell == null)
            cell = row.createCell(3);
        cell.setCellType(CellType.STRING);
    
        // Write the output to a file
        FileOutputStream fileOut = new FileOutputStream("workbook.xls");
        wb.write(fileOut);
        fileOut.close();
    %>
    </body>
    </html>
    
  • 相关阅读:
    Android应用程序资源的查找过程分析
    Android应用程序资源管理器(Asset Manager)的创建过程分析
    Android应用程序资源的编译和打包过程分析
    跨平台的高性能的C++通讯库
    函数memstr
    chrome必备插件
    01背包的优化问题
    高精度小结/。。。
    关于日期的计算问题。。。。。
    终于入手了01背包问题!!
  • 原文地址:https://www.cnblogs.com/hellohongfu/p/8075228.html
Copyright © 2011-2022 走看看