winform怎么将Listview中的数据压缩导出为csv文件!

解决方案 »

  1.   

    读取listview里面的内容,用streamwriter写入到csv文件
      

  2.   

    import javax.servlet.*;
    import javax.servlet.http.*;import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;import com.hansky.intf.butterfly.IButterflyContext;sourceRelative("common.bsh");static String csvTempDirName = "csv-temp";
    HttpSession hs = request.getSession();
    String csvDir = "/session_static/" + hs.getId() + "/" + csvTempDirName;
    String url = "/butterfly/" + csvDir + "/";void httpForward(HttpServletRequest req, HttpServletResponse res, String path) {
        RequestDispatcher rd = request.getRequestDispatcher(path);
        rd.forward(request, response);
    }// 把临时文件放在 /products/rsrc/chtml/csv-temp
    File getTempCsvDir(IButterflyContext ctx) {    File rootDir = new File(ctx.getRootDir(), "chtml" + csvDir);
        rootDir.mkdirs();
        return rootDir;
    }public void createCvs(){
    IButterflyContext ctx = (IButterflyContext)request.getAttribute("hs.butterfly.context");
    List reportList = new ArrayList(); StringBuffer sb = new StringBuffer();
    sb = getDataList(ctx, reportList); // 写入文件
    File f = null;
    FileOutputStream fos = null; // 文件名为当前时间,可以根据需要进行修改
    String fileName = System.currentTimeMillis() + ".csv";
    url = url + fileName;

    try {
        f = new File(getTempCsvDir(ctx), fileName);
        fos = new FileOutputStream(f);
        fos.write(sb.toString().getBytes("gbk"));
       
    } catch (IOException ioe) {
        ioe.printStackTrace();
    } finally {
        if (fos != null) {
            fos.close();
        }
    }
    }// 设置MIME type,并设置URL
    createCvs();
    response.setContentType("application/ms-excel");
    response.sendRedirect(url);
      

  3.   

    这是JAVA版 导出CSV的一段程序,可参考一下
      

  4.   

    用streamwrite就行,csv说白了就是逗号分割的文档,数据读入到六种,读取字段然后自己加入逗号,
     StreamWriter sw = System.IO.File.AppendText("11 + ".csv");
    就可以了