精华内容
下载资源
问答
  • 2022-03-04 10:28:54

    前言:一开始用XSSFWorkbook实现读写xlsx后缀的excel文件,文件导出是完全没有问题的,后来需求变了,需要根据前台选择导出格式(xls或xlsx)来动态导出对应后缀的excel文件。
    过程:1、一开始通过格式入参试图根据改变文件名的后缀来达到这个目的,结果导出xls文件的时候,还是报了文件格式不符合的打开错误
    2、根据导出格式的入参,分别用XSSFWorkbook、HSSFWorkbook来写两次不同的导出逻辑,这种方法是可以的但是过于复杂。
    结果:后面统一用了Workbook实现导出方法。既支持xls也支持xlsx
    格式的excel;需要注意的是Workbook(子类:HSSFWorkbook – xls格式、XSSFWorkbook – xlsX格式)以及其方法RichTextString(HSSFRichTextString – xls格式、 XSSFRichTextString – xlsX格式)都是抽象接口,不能直接new,必须根据导出格式选择对应的子类创建对象
    代码部分示例:

    //exportMode:导出格式入参
    
    //Workbook 的创建
    Workbook wb = this.getWorkbook(exportMode);
    //单元格的创建
    Cell cell = row.createCell(1);
    cell.setCellValue(this.getRichTextString(exportMode, sheetName));
    cell.setCellStyle(headStyle);
    
    
     
     /**
         * 根据选择的导出格式生成对应的富文本
         */
        public RichTextString getRichTextString(String exportMode,String memo){
            //0:xls格式   1:xlsx格式
            if (Const.CNST_STR_FALSE.equals(exportMode)) {
                return new HSSFRichTextString(memo);
            } else {
                return new XSSFRichTextString(memo);
            }
        }
    
        /**
         * 根据选择的导出格式生成对应的Workbook
         */
        public Workbook getWorkbook(String exportMode){
            //0:xls格式   1:xlsx格式
            if ("0".equals(exportMode)) {
                return new HSSFWorkbook();
            } else {
                return new XSSFWorkbook();
            }
        }
    

    备注:xls和xlsx对象的区别

    xls格式: HSSFWorkbook HSSFDataFormat HSSFSheet HSSFRow HSSFCell HSSFCellStyle HSSFFont HSSFRichTextString
    xlsX格式:XSSFWorkbook XSSFDataFormat XSSFSheet XSSFRow XSSFCell XSSFCellStyle XSSFFont XSSFRichTextString
    通用格式:    Workbook     DataFormat     Sheet     Row     Cell     CellStyle     Font     RichTextString
    Workbook RichTextString  抽象接口,不能直接new,必须根据格式选择对应的子类创建对象		
    
    更多相关内容
  • 编码支持gb2312/gbk和utf8,如果是utf8导出xls需要转换才可以被excel2003正常打开; 找了一大圈包括国外的网站,都没有适用的,很多还是定制收费,于是自己费了几个晚上弄出来; 使用用phpmyadmin导入自带的sql...
  • PHP导出 xls CSV

    2018-06-25 10:46:52
    解决多语言导出乱码,主要进行导出编码格式设定,试过很多次已经OK
  • 编码支持gb2312/gbk和utf8,如果是utf8导出xls需要转换才可以被excel2003正常打开; 找了一大圈包括国外的网站,都没有适用的,很多还是定制收费,于是自己费了几个晚上弄出来; 使用用phpmyadmin导入自带的sql...
  • JS导出xls表格文件

    2018-07-11 14:50:26
    javascript导出xls表格,方便快捷,只需指定表头,数据,文件名。
  • PowerDesigner导出XLS脚本

    2022-04-01 17:24:15
    通过PowerDesigner设计的表结构字段,通过tools->execute commands->edit/run script执行VBS脚本,生成数据库、表、字段的说明Excel文档
  • 因为前几天写了篇文章,用php-excel-reader类导入excel内容,顺便说些excel导出问题,我用的是simple excel,一个很简单的导出xls类,特好用! simple excel源码如下: 复制代码 代码如下: <?php /** * Simple ...
  • java 文件导出xls格式

    2022-03-15 10:08:35
    @RequestMapping(value = "/print") public String print(){ try { response.setCharacterEncoding("utf-8");... // 设置导出的文件名称 String BBMC = "月报管理"; //获取 项目 template 目录下 模板sxybg.
    @RequestMapping(value = "/print")
    public String print(){
      
       try {
          response.setCharacterEncoding("utf-8");
          response.setContentType("text/html; charset=utf-8");
          // 设置导出的文件名称
          String BBMC = "月报管理";
          //获取 项目 template 目录下 模板sxybgl.xlsx 文件的路径
          String filePath = request.getSession().getServletContext().getRealPath("template") + File.separatorChar + "sxybgl.xlsx";
          ExcelServicePrinter printObject = ExcelServicePrinter.openTemplate(filePath);
          //查询SQL获取要导出的值
          String sql ="select * from daul";
          List<Map> lstData = Context.getDao().execSqlQueryToMap(sql);
          if (lstData != null && lstData.size() > 0) {
             // 如:第一行是表名,第二行是标题,第三行是放导出的内容,那么 int startRow=3;
             int startRow = 2;//从第二行开始
             for (int i = 0; i < lstData.size(); i++) {
                Map data = lstData.get(i);
                String xqmc = data.get("xqmc") == null ? "" : data.get("xqmc").toString();
                String sxjhmc = data.get("sxjhmc") == null ? "" : data.get("sxjhmc").toString();
                String xh = data.get("xh") == null ? "" : data.get("xh").toString();
                String xm = data.get("xm") == null ? "" : data.get("xm").toString();
                String bj = data.get("bj") == null ? "" : data.get("bj").toString();
                String dwmc = data.get("dwmc") == null ? "" : data.get("dwmc").toString();
                String qymc = data.get("qymc") == null ? "" : data.get("qymc").toString();
                String sxgw = data.get("sxgw") == null ? "" : data.get("sxgw").toString();
                String qdddmc = data.get("xnzdjs") == null ? "" : data.get("xnzdjs").toString();
                startRow++;
                // 从第二行开始 2行复制,到第2行结束。把复制的行放到 startRow++ 行
                printObject.copyRange(2, 2, startRow);
                printObject.printCellText(startRow, 1, (i+1));//序号
                printObject.printCellText(startRow + 1, 1, xqmc);
                printObject.printCellText(startRow + 1, 2, sxjhmc);
                printObject.printCellText(startRow + 1, 3, xh);
                printObject.printCellText(startRow + 1, 4, xm);
                printObject.printCellText(startRow + 1, 5, bj);
                printObject.printCellText(startRow + 1, 6, dwmc);
                printObject.printCellText(startRow + 1, 7, qymc);
                printObject.printCellText(startRow + 1, 8, sxgw);
                printObject.printCellText(startRow + 1, 9, qdddmc);
                startRow++;
             }
             printObject.delRows(2, 2 );//删除模版
          } else {
             this.writeJsMessage(response, "alert('无导出数据')");
             return null;
          }
          //输出
          OutputStream output = null;
          try {
             response.setContentType("application/x-msdownload");
             String filename = new String(BBMC.getBytes("GBK"), "iso8859-1");
             response.addHeader("Content-Disposition", "attachment;filename=" + filename + ".xls");
             output = response.getOutputStream();
          } catch (FileNotFoundException e) {
             e.printStackTrace();
          } catch (IOException e) {
             e.printStackTrace();
          }
          printObject.write(output);
          try {
             output.flush();
             output.close();
          } catch (Exception e) {
             e.printStackTrace();
          }
       } catch (Exception e) {
          log.error(e.getMessage(), e);
          this.writeJsMessage(response, "alert('导出失败!');");
       }
       return null;
    }
    展开全文
  • C# 导出xls表格dll

    2014-08-21 15:56:44
    C# 导出xls表格dll,可以导出Excel的表格
  • 前端导出xls文件方法

    2021-02-23 16:04:56
    使用table标签方式将json导出xls文件</p> <button onclick='tableToExcel()'>导出</button> </head> <body> <script> function tableToExcel(){ ...

    <html>
    <head>
      <p style="font-size: 20px;color: red;">使用table标签方式将json导出xls文件</p>
      <button οnclick='tableToExcel()'>导出</button>
    </head>
    <body>
      <script>
                
        function tableToExcel(){
          //要导出的json数据
          const jsonData = [
            {
              name:'路人甲',
              phone:'123456',
              email:'123@123456.com'
            },
            {
              name:'炮灰乙',
              phone:'123456',
              email:'123@123456.com'
            },
            {
              name:'土匪丙',
              phone:'123456',
              email:'123@123456.com'
            },
            {
              name:'流氓丁',
              phone:'123456',
              email:'123@123456.com'
            },
          ]
          //列标题
          let str = '<tr><td width = '100px'>姓名</td><td>电话</td><td>邮箱</td></tr>';
          //循环遍历,每行加入tr标签,每个单元格加td标签
          for(let i = 0 ; i < jsonData.length ; i++ ){
            str+='<tr>';
            for(let item in jsonData[i]){
                //增加\t为了不让表格显示科学计数法或者其他格式
                str+=`<td>${ jsonData[i][item] + '\t'}</td>`;     
            }
            str+='</tr>';
          }
          //Worksheet名
          let worksheet = 'Sheet1'
          let uri = 'data:application/vnd.ms-excel;base64,';
     
          //下载的表格模板数据
          let template = `<html xmlns:o="urn:schemas-microsoft-com:office:office" 
          xmlns:x="urn:schemas-microsoft-com:office:excel" 
          xmlns="http://www.w3.org/TR/REC-html40">
          <head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>
            <x:Name>${worksheet}</x:Name>
            <x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet>
            </x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]-->
            </head><body><table>${str}</table></body></html>

    展开全文
  • SSM导出XLS

    2018-07-23 11:45:44
    本程序采用SSM框架,相关的pom.xml,application.xml,mybatis-config.xml配置文件已经写好,运行时需要注意把jdk版本调成1.8 tomcat版本调成相应版本即可
  • js 导出xls

    2019-11-01 10:36:07
    运用js实现将页面中的table导出为excel文件,页面显示如下:   导出的excel文件显示如下:   实现代码: 按 Ctrl+C 复制代码 按 Ctrl+C 复制代码 图3:  代码事例中运用到的知识都在注释中...

     

    运用js实现将页面中的table导出为excel文件,页面显示如下:

      

    导出的excel文件显示如下:

      

     

    实现代码:

     

    按 Ctrl+C 复制代码

     

    按 Ctrl+C 复制代码

     

    图3:

     

     

      代码事例中运用到的知识都在注释中说明,方便以后查看,尤其是正则 replace 各个参数的意义,是属于比较细的知识点。个人见解欢迎指正。

     

      关于replace的用法详解请参考另一篇博文:http://www.cnblogs.com/zhangym118/p/6235998.html

    展开全文
  • js 导出excel(.xls格式)

    2020-10-21 15:08:09
    为了减轻服务器的压力,很多网站采用的js下载或导出数据的方式。 该文件就是利用javascript把json数据转换成excel数据后,并进行了下载。 真实可用,而且使用起来方便快捷,为了开发快速,可以下载看看。 里面有教程...
  • 首先,找到layui包里的table.js,然后格式化代码 在大概115行的地方,改成 然后在大概这个位置,加一个方法 如图所示,可以一键导出99999999条数据,绝对够使????
  • Oracle导入导出xls[归纳].pdf
  • 摘要:C#源码,文件操作,MyXls 运行环境:Visual Studio2010
  • flex DataGrid 导出Xls

    2016-02-24 12:21:48
    flex DataGrid 导出Xls private function insertRecordInSheet(row:int,sheet:Sheet,record:Object):void { var colCount:int = rebateByItemDG.columnCount; for(var c:int; c ; c++) { var i:int = 0; ...
  • PHP导入导出Excel PHP导入导出xls文件
  • 导出xls文件

    2013-11-11 23:26:50
    不安装office可导出excel文件的开源代码 C#
  • 今天接了一个蛋疼的需求 Linux导出表格 还不给用php python脚本处理 在网上搜了很多 sql 里面什么加into file等 我试过都没什么卵用...1.首先在windows编辑完"xxx.txt"的文档,然后把后缀名改成 xxx.xls 记得保存格式
  • 导出xlsx格式: response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.addHeader("Content-Disposition", "attachment;filename=fileName" + ".xlsx"); ...
  • 由于Microsoft SQL Server Management Studio的导入导出应用似乎不能直接将数据与WPS交互,而网上又没有太多相关方法教程,便写一篇相关的文章记录下我的方法。 版本信息:SQL Server Management Studio 15.0....
  • <p>I'm exporting xls with this code: <pre><code><?php header("Content-Type: application/vnd.ms-excel"); header("Content-Disposition: inline; filename=filename.xls"); ?> <html> <head>...
  • pdm导出xls格式字典

    2013-10-30 16:20:56
    pdm导出xls格式字典,操作简单,方便使用
  • poi导出xls和xlsx的区别

    千次阅读 2016-12-28 10:45:20
    工作中遇到客户需要把导出excel格式由xlsx改为xls导出后打开文件导出警告框提示内容格式与文件类型不一致,内容可以查看。查看response设置也没有问题,后来发现原因出在工作簿和样式的创建上,创建xlsx格式用...
  • EF CodeFirst + MySql + NOPI + SharpZipLib 实现导出excel文档。单个文档直接导出xls.多个文档压缩后导出zip.
  • SELECT ... -- 如果不写的话,默认会查询出所有表中的数据,这样可能就分不清到底哪些字段是哪张表中的了,所以还是建议写上要导出的名名称 table_name = 't_troubleticket' 使用查询导出结果集
  • pb9 dw2xls所见所得导出excel,国外Desta公司也就是DW2XLS的老祖宗开发的最新版的DW2XLS

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 62,472
精华内容 24,988
关键字:

怎么导出xls