• 使用POI完成 EXCEL的 导出和导入


        private File file; //上传的文件
        private String fileFileName; //文件名称
        private String fileContentType; //文件类型
    
    
    
    
    /**
         * 导出数据
         * @return
         */
        public String exportData(){
            formBean=this.provinceInfoServiceImpl.searchAll(formBean);
            List<TProvinceinfo> exprotData = formBean.getResultList();
            session.put("exprotData", exprotData);
            return SUCCESS;
        }
        /**
         * 导入数据
         * @return
         * @throws Exception
         */
        public String importData() throws Exception{
            //创建文件输入流对象
            FileInputStream is = new FileInputStream(file) ;
            //通过输入流创建工作簿
            HSSFWorkbook workBook = new HSSFWorkbook(is);
            HSSFSheet sheet = workBook.getSheetAt(0);
            //获取总行数
            int totalRowNum = sheet.getLastRowNum();
            //这里i<==   循环遍历导入工作簿行数 取出相关数据
            for (int i = 0; i <= totalRowNum; i++) {
                HSSFRow row = sheet.getRow(i);
                for (int j = 0; j < row.getLastCellNum(); j++) {
                    //打印出导入的内容
                    System.out.print(row.getCell(j));
                }
                System.out.println("");
            }
            dataMap.put("uploadResult", true);
                return SUCCESS;
        }
    package com.lmy.servlet;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.ArrayList;
    import java.util.List;
    
    import javax.servlet.ServletException;
    import javax.servlet.ServletOutputStream;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    import org.apache.poi.hssf.usermodel.HSSFCell;
    import org.apache.poi.hssf.usermodel.HSSFCellStyle;
    import org.apache.poi.hssf.usermodel.HSSFRow;
    import org.apache.poi.hssf.usermodel.HSSFSheet;
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    
    import com.hy.entity.TProvinceinfo;
    
    public class Download extends HttpServlet {
    
        /**
         * The doGet method of the servlet. <br>
         *
         * This method is called when a form has its tag value method equals to get.
         * 
         * @param request the request send by the client to the server
         * @param response the response send by the server to the client
         * @throws ServletException if an error occurred
         * @throws IOException if an error occurred
         */
        public void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
    
            response.setContentType("text/html");
            response.setContentType("application/vnd.ms-excel;charset=UTF-8");
            response.setHeader("Content-Disposition", "attachment;filename=exportData.xls"); 
            
            ServletOutputStream outStream = response.getOutputStream();
            //创建工作簿
            HSSFWorkbook workbook = new HSSFWorkbook();
            HSSFSheet sheet = workbook.createSheet("省数据");
            HttpSession session = request.getSession();
            //从session中获取相关数据
            List<TProvinceinfo>exprotData=(List<TProvinceinfo>) session.getAttribute("exprotData");
            //初始化标题
            List<String> title = new ArrayList<String>(3);
            title.add("省级ID");
            title.add("省级名称");
            title.add("备注");
          //创建行
            HSSFRow row = sheet.createRow(0);
            //创建单元格
            HSSFCell cell = row.createCell(0);//
            //赋值
            cell.setCellValue(title.get(0));
            HSSFCell cell1 = row.createCell(1);//
            cell1.setCellValue(title.get(0));
            HSSFCell cell2 = row.createCell(2);//
            cell2.setCellValue(title.get(2));
            for (int i = 1; i <= exprotData.size(); i++) {
                //循环数据 创建对应行数据
                HSSFRow rows = sheet.createRow(i);//创建行
                    HSSFCell cells1 = rows.createCell(0);//
                    cells1.setCellValue(exprotData.get(i-1).getFProvinceID());
                    HSSFCell cells2 = rows.createCell(1);//
                    cells2.setCellValue(exprotData.get(i-1).getFProviceName());
                    HSSFCell cells3 = rows.createCell(2);//
                    cells3.setCellValue(exprotData.get(i-1).getFRemark());
            }
            //导出工作簿
            workbook.write(outStream);
            outStream.flush();
            outStream.close();
            
        }
    
    }
  • 相关阅读:
    JVM学习笔记(一)------基本结构
    基于 Android 的 3D 视频样本代码
    Objective-C语法之代码块(block)的使用
    javabean总结
    oncopy和onpaste
    Linux/UNIX之信号(2)
    Html的空格显示
    硬盘的读写原理
    IntentFilter
    MyEclipse配置启动多个Tomcat
  • 原文地址:https://www.cnblogs.com/cnjava/p/3076245.html
Copyright © 2020-2023  润新知