首页>代码>java poi 导出excel表格>/1534768197682176.java
package com.pingan.jinke.sms.examine.controller;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.Date;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.commons.beanutils.BeanUtils;
import org.w3c.dom.Document;


public class Test {

	/**  
     * 导出为CVS文件  
     *   
     * @param exportData  
     */  
    public static File createCSVFile(List exportData, LinkedHashMap rowMapper, String outPutPath) {   
        File csvFile = null;   
        BufferedWriter csvFileOutputStream = null;   
        try {   
            csvFile = File.createTempFile("temps", ".csv", new File(outPutPath));   
            // GB2312使正确读取分隔符","   
            csvFileOutputStream = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(csvFile), "GB2312"),   
                    1024);   
            // 写入文件头部   
            for (Iterator propertyIterator = rowMapper.entrySet().iterator(); propertyIterator.hasNext();) {   
                java.util.Map.Entry propertyEntry = (java.util.Map.Entry) propertyIterator.next();   
                csvFileOutputStream.write("\"" + propertyEntry.getValue().toString() + "\"");   
                if (propertyIterator.hasNext()) {   
                    csvFileOutputStream.write(",");   
                }   
            }   
            csvFileOutputStream.newLine();   
            // 写入文件内容   
            for (Iterator iterator = exportData.iterator(); iterator.hasNext();) {   
                Object row = (Object) iterator.next();   
                for (Iterator propertyIterator = rowMapper.entrySet().iterator(); propertyIterator.hasNext();) {   
                    java.util.Map.Entry propertyEntry = (java.util.Map.Entry) propertyIterator.next();   
                    csvFileOutputStream.write("\""  
                            + BeanUtils.getProperty(row, propertyEntry.getKey().toString()).toString() + "\"");   
                    if (propertyIterator.hasNext()) {   
                        csvFileOutputStream.write(",");   
                    }   
                }   
                if (iterator.hasNext()) {   
                    csvFileOutputStream.newLine();   
                }   
            }   
            csvFileOutputStream.flush();   
        } catch (Exception e) {   
            e.printStackTrace();   
        } finally {   
            try {   
                csvFileOutputStream.close();   
            } catch (IOException e) {   
                e.printStackTrace();   
            }   
        }   
        return csvFile;   
    }   
  
    /**  
     * 导出为CSV文件  
     *   
     * @param response  
     * @param exportData  
     * @param propertyNames  
     * @param fileName  
     * @param outputPath  
     * @throws FileNotFoundException  
     */  
    public static void exportToCSVFile(HttpServletResponse response, List exportData, LinkedHashMap rowMapper,   
            String fileName, String outputPath) throws FileNotFoundException {   
        File csvFile = createCSVFile(exportData, rowMapper, outputPath);   
        csvFile.delete();   
    }   
  
    public static void main(String[] args) {   
    	 LinkedHashMap map = new LinkedHashMap();   
         map.put("1", "第一列");   
         map.put("2", "第二列");   
         map.put("3", "第三列");   
         map.put("4", "第四列");   
    	
        List exportData = new ArrayList<Map>();
        Map row1 = new LinkedHashMap<String, String>();   
        row1.put("1", "11");   
        row1.put("2", "12");   
        row1.put("3", "13");   
        row1.put("4", "14");   
        exportData.add(row1);   
        row1 = new LinkedHashMap<String, String>();   
        row1.put("1", "21");   
        row1.put("2", "22");   
        row1.put("3", "23");   
        row1.put("4", "24");   
        exportData.add(row1);   
        Test.createCSVFile(exportData, map, "E:/");   
    } 
	
    
    public void service(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {

			request.setCharacterEncoding("gbk");
			response.setContentType("text/html;charset=gbk");
			HttpSession session = request.getSession();
			String status  = request.getParameter("status");
			status = status == null ? "" : status.trim(); 
			Document dom = null;
			dom = (Document)session.getAttribute("domList");
			session.setAttribute("download",dom);
			session.setAttribute("sname","download");
			Hashtable hsjxl=new Hashtable();
			hsjxl.put("title",new Date().getTime()); 
			session.setAttribute("header",hsjxl); 
			session.setAttribute("para","header");
			response.sendRedirect(request.getContextPath()+"/Dom2Csv");	
    }
}
最近下载更多
lcy123ww  LV5 2022年11月22日
风间千月  LV13 2022年4月1日
汤汤汤要学编程  LV11 2022年3月9日
tansuo阿郎  LV8 2021年12月1日
maolv100k  LV1 2021年6月10日
hdf999  LV12 2021年4月3日
hjd3983  LV10 2021年4月3日
123000ppp  LV2 2020年9月10日
EdgarLi  LV14 2020年8月6日
苦中苦  LV2 2020年5月8日
最近浏览更多
cz8857216  LV4 3月8日
15302544391  LV1 2023年11月26日
爱情戴罪的羔羊  LV7 2023年10月26日
Eddie233  LV5 2023年6月14日
gvin001  LV14 2023年5月11日
暂无贡献等级
lcy123ww  LV5 2022年11月22日
00044304  LV6 2022年10月17日
是你爸爸啊100  LV5 2022年8月8日
qwqw900619  LV4 2022年7月16日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友