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("\", "/");
  • 相关阅读:
    angularjs 学习理解
    setTimeout和setInterval
    c# 数组
    c# 枚举enum
    T_SQL 字符串函数
    T_SQL 日期函数
    T-SQL函数类型——系统函数
    SqlServer 删除日志
    ASP.NET中JSON的序列化和反序列化
    jquery 选择器
  • 原文地址:https://www.cnblogs.com/pangkang/p/7871534.html
Copyright © 2011-2022 走看看