zoukankan      html  css  js  c++  java
  • SSM导出报表为csv文件

    报表导出思路为,在后台用iDataReader将查询得到的数据写进文件并压缩,向前端返回文件位置的链接,在前端执行下载操作。

    web端:

      1. ajax请求url,将返回的路径json字符串解析并执行下载操作;

      2.controller接受请求,并返回路径的json字符串。

    服务端:

       1.idataReader将读取的数据库数据写入文件,使用方法ExportToFile。

    public static bool ExportToFile(this IDataReader dataReader, Dictionary<string, string> columnsNames, string fileName, bool writeHeader, out string errorMsg);

      示例:

    bridgedt.ExportToFile(columnNames, masterFile, true, out errMessage)

      2.然后将文件压缩,返回文件路径链接。

      3.路径示例

           string zipRelativeFileName = @"tmpfiles" + string.Format(fileName+ ".zip");
                string zipDir = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "tmpfiles", Guid.NewGuid().ToString());
                string zipFile = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, zipRelativeFileName);
                string masterFile = System.IO.Path.Combine(zipDir, fileName + ".csv");
                System.IO.Directory.CreateDirectory(zipDir);
                if (System.IO.File.Exists(zipFile))
                {
                    System.IO.File.Delete(zipFile);
                }
                ZipHelper zipHelper = newZipHelper(); //ZipHelper 为自定义类,实现压缩功能
                zipHelper.ZipFileDirectory(zipDir, zipFile); 
                System.IO.Directory.Delete(zipDir, true);
                return zipRelativeFileName.Replace("\", "/");
  • 相关阅读:
    [团队项目] Scrum 项目 3.0 SCRUM 流程的步骤2: Spring 计划
    《构建之法》第6-7章读后感
    【操作系统】实验二 作业调度模拟程序
    团队项目2.0软件改进分析MathAPP
    团队项目
    结对编程2.0
    电影(网剧))项目
    实验0 了解和熟悉操作系统
    复利计算
    学习进度条
  • 原文地址:https://www.cnblogs.com/pangkang/p/7871534.html
Copyright © 2011-2022 走看看