精华内容
下载资源
问答
  • jxTMS--导出Excel文件

    2020-08-26 12:43:27
    导出Excel文件 上篇文章讲述了jxTMS中如何从excel文件中导入数据。本文则讲述jxTMS中如何导出数据保存到excel文件中。 和excel中导入不同的是,导出到excel中需要先指定一个模板文件,即导出到excel需要如下的步骤:...

    jxTMS:低成本快速定制的业务系统个人开发平台。

    导出Excel文件

    上篇文章讲述了jxTMS中如何从excel文件中导入数据。本文则讲述jxTMS中如何导出数据保存到excel文件中。

    和excel中导入不同的是,导出到excel中需要先指定一个模板文件,即导出到excel需要如下的步骤:

    • 开发者先根据业务目的,设计好一个业务表单的excel文件模板

    • 开发者将此模板文件上传到jxTMS中

    • 在需要导出时复制这个模板

    • 向其中写入相关的业务数据

    • 保存

    • 下载到用户本地

    上传模板文件

    目前上传模板文件属于开发者才能使用的功能【demo中因未涉及到,所以未提供】,然后其和前文的上传文件的界面定义是一样的,只不过其命令响应事件是uploadTemplet。

    uploadTemplet函数会将上传后的文件移动到webRoot目录下的templet目录中,并为其增加一个本组织简称的前缀,以避免两组织间同名文件的困扰。

    打开模板文件

    和前文打开上传文件不同的是,打开模板文件需要指定组织简称:

        #打开本组织的模板文件【testFile.xls】中的【testSheet】表
        with  jxExcel(ctx.getCurrentOrg().getAbbr(),'testFile','testSheet') as e:
    

    写入数据

    和导入一样,也有两种类型的数据写入:

    • 零散数据的写入

    • 行数据的写入

    其中,零散数据的写入是根据指定的格子名逐个格子一一写入:

    e.setCellValue(cellName,value)
    

    其中,cellName是【A1、C21】的格子名;而value则是给定的值。

    注:模板文件存在的意义就是提前设计好表单格式,自然也就包括了每个格子的数据类型和显示格式,所以数据写入不需考虑太多,只需确保将正确的数据写到正确的格子中即可

    行数据的写入则较为复杂,因为写入是需要在设计的带格式的格子中写入的,所以针对行数据,在设计表单时,首先应留出一个空白行,然后设计好该行中各个格子的显示格式,然后在写入时首先复制该行并原地插入,这就保证了行数据的格式正确。

    newRow = e.copyRow(rowIndex)
    

    注1:如果该行中有格子的合并,也会同样复制
    注2:由于是复制该行后原地插入以保证原空白行还是在最下面,所以如果每次复制的行号不动,则最先插入的行会出现在表格的最底端,但后面复制到的行都是刚写入过数据的脏行,所以每个格子都应写数据以避免污染
    注3:由于是复制后原地插入,所以原空白行的行号会自动加一,所以如果每次复制的行号也加一,则最先插入的行会出现在表格的最顶端

    保存

    直接调用如下函数即可:

    tmpFilePath = e.saveTmp()
    

    则jxTMS会将从模板文件复制过来并写入了业务数据的临时文件保存到临时目录中,并返回所保存的文件路径。

    注:临时文件会根据配置被定期清理,所以不需关心其后的情况,而所有的临时文件在生成时其文件名都会被添加一个随机串号作为防碰撞信息,以避免重名所带来的问题,而该文件名没有任何办法再次使用,所以应视为一次性的用后失效

    下载

    调用saveTmp后会得到临时文件的存储路径,只需要将此路径作为一个a锚显示到界面即可:

    self.clearA()
    self.addHref(tmpFilePath,  '下载合同'.decode('utf-8'))
    

    clearA是清楚清除附加工具条中的所有临时性的工具条。其作用是如果第一次生成的表单是错误,然后在页面中修改了某些信息然后再次请求重新生成新表单并下载,则清除掉之前的下载链接,以避免下载错误。而addHref则是将临时文件以正确的格式显示为页面上的一个名为【下载合同】的下载链接的a锚,用户点击此链接就会将刚生成的临时文件下载到本地。

    注:jxTMS一定是保存了临时文件后才会将下载链接显示给用户,但笔者发现点击后需要二三十秒浏览器才会弹出对话框询问是保存还是直接显示。这是浏览器的原因而非jxTMS的原因

    目前,jxTMS已经打包为云服务器镜像,开发者开箱即用:
    jxTMS-腾讯云市场​

    展开全文
  • php如何导出excel文件

    2012-10-26 18:25:00
    最近想用php把自己的数据保存起来,并且是excel格式。 可以按一下方法: 第一步:写一个类文件(php-excel.class.php) View Code <?php /** * Simple excel generating from PHP5 * * @package ...

    最近想用php把自己的数据保存起来,并且是excel格式。

    可以按一下方法:

    第一步:写一个类文件(php-excel.class.php)

    View Code
    <?php
    
    /**
     * Simple excel generating from PHP5
     *
     * @package Utilities
     * @license http://www.opensource.org/licenses/mit-license.php
     * @author Oliver Schwarz <oliver.schwarz@gmail.com>
     * @version 1.0
     */
    
    /**
     * Generating excel documents on-the-fly from PHP5
     * 
     * Uses the excel XML-specification to generate a native
     * XML document, readable/processable by excel.
     * 
     * @package Utilities
     * @subpackage Excel
     * @author Oliver Schwarz <oliver.schwarz@vaicon.de>
     * @version 1.1
     * 
     * @todo Issue #4: Internet Explorer 7 does not work well with the given header
     * @todo Add option to give out first line as header (bold text)
     * @todo Add option to give out last line as footer (bold text)
     * @todo Add option to write to file
     */
    class Excel_XML
    {
    
        /**
         * Header (of document)
         * @var string
         */
            private $header = "<?xml version=\"1.0\" encoding=\"%s\"?\>\n<Workbook xmlns=\"urn:schemas-microsoft-com:office:spreadsheet\" xmlns:x=\"urn:schemas-microsoft-com:office:excel\" xmlns:ss=\"urn:schemas-microsoft-com:office:spreadsheet\" xmlns:html=\"http://www.w3.org/TR/REC-html40\">";
    
            /**
             * Footer (of document)
             * @var string
             */
            private $footer = "</Workbook>";
    
            /**
             * Lines to output in the excel document
             * @var array
             */
            private $lines = array();
    
            /**
             * Used encoding
             * @var string
             */
            private $sEncoding;
            
            /**
             * Convert variable types
             * @var boolean
             */
            private $bConvertTypes;
            
            /**
             * Worksheet title
             * @var string
             */
            private $sWorksheetTitle;
    
            /**
             * Constructor
             * 
             * The constructor allows the setting of some additional
             * parameters so that the library may be configured to
             * one's needs.
             * 
             * On converting types:
             * When set to true, the library tries to identify the type of
             * the variable value and set the field specification for Excel
             * accordingly. Be careful with article numbers or postcodes
             * starting with a '0' (zero)!
             * 
             * @param string $sEncoding Encoding to be used (defaults to UTF-8)
             * @param boolean $bConvertTypes Convert variables to field specification
             * @param string $sWorksheetTitle Title for the worksheet
             */
            public function __construct($sEncoding = 'UTF-8', $bConvertTypes = false, $sWorksheetTitle = 'Table1')
            {
                    $this->bConvertTypes = $bConvertTypes;
                $this->setEncoding($sEncoding);
                $this->setWorksheetTitle($sWorksheetTitle);
            }
            
            /**
             * Set encoding
             * @param string Encoding type to set
             */
            public function setEncoding($sEncoding)
            {
                $this->sEncoding = $sEncoding;
            }
    
            /**
             * Set worksheet title
             * 
             * Strips out not allowed characters and trims the
             * title to a maximum length of 31.
             * 
             * @param string $title Title for worksheet
             */
            public function setWorksheetTitle ($title)
            {
                    $title = preg_replace ("/[\\\|:|\/|\?|\*|\[|\]]/", "", $title);
                    $title = substr ($title, 0, 31);
                    $this->sWorksheetTitle = $title;
            }
    
            /**
             * Add row
             * 
             * Adds a single row to the document. If set to true, self::bConvertTypes
             * checks the type of variable and returns the specific field settings
             * for the cell.
             * 
             * @param array $array One-dimensional array with row content
             */
            private function addRow ($array)
            {
                $cells = "";
                    foreach ($array as $k => $v):
                            $type = 'String';
                            if ($this->bConvertTypes === true && is_numeric($v)):
                                    $type = 'Number';
                            endif;
                            $v = htmlentities($v, ENT_COMPAT, $this->sEncoding);
                            $cells .= "<Cell><Data ss:Type=\"$type\">" . $v . "</Data></Cell>\n"; 
                    endforeach;
                    $this->lines[] = "<Row>\n" . $cells . "</Row>\n";
            }
    
            /**
             * Add an array to the document
             * @param array 2-dimensional array
             */
            public function addArray ($array)
            {
                    foreach ($array as $k => $v)
                            $this->addRow ($v);
            }
    
    
            /**
             * Generate the excel file
             * @param string $filename Name of excel file to generate (...xls)
             */
            public function generateXML ($filename = 'excel-export')
            {
                    // correct/validate filename
                    $filename = preg_replace('/[^aA-zZ0-9\_\-]/', '', $filename);
            
                    // deliver header (as recommended in php manual)
                    header("Content-Type: application/vnd.ms-excel; charset=" . $this->sEncoding);
                    header("Content-Disposition: inline; filename=\"" . $filename . ".xls\"");
    
                    // print out document to the browser
                    // need to use stripslashes for the damn ">"
                    echo stripslashes (sprintf($this->header, $this->sEncoding));
                    echo "\n<Worksheet ss:Name=\"" . $this->sWorksheetTitle . "\">\n<Table>\n";
                    foreach ($this->lines as $line)
                            echo $line;
    
                    echo "</Table>\n</Worksheet>\n";
                    echo $this->footer;
            }
    
    }
    
    ?>

    第二步:调用实例(test.php)

    <?php
    // load library
    require 'php-excel.class.php';
    
    // create a simple 2-dimensional array
    $data = array(
            array ('商户编号', '商户名称'),
            array('0001', '我是商户01'),
            array('0002', '我是商户02'),
            array('0003', '我是商户03'),
            array('0004', '我是商户04'),
            array('0005', '我是商户05'),
            array('0006', '我是商户06'),
            array('0007', '我是商户07'),
            array('0008', '我是商户08'),
            array('0009', '我是商户09'),
            array('0010', '我是商户10')
            );
    // generate file (constructor parameters are optional)
    $xls = new Excel_XML('UTF-8', false, 'My Test Sheet');
    $xls->addArray($data);
    $xls->generateXML('my-test');
    
    ?>

    第三步:运行test.php 文件,就会自动保存。

    注意:文件必须是UTF-8格式。

       my-test是你要保存的文件名称,这个文件名必须是英文才可以。

     

    转载于:https://www.cnblogs.com/wangkongming/archive/2012/10/26/2741651.html

    展开全文
  • VUE-如何实现纯前端导出Excel文件

    千次阅读 2020-07-28 11:21:10
    FileSaver.js是在客户端保存文件的解决方案,非常适合需要生成文件,或者保存不应该发送到外部服务器的敏感信息的场景。xlsx就是生成excel必要的库。 // npm cnpm install --save file-saver xlsx..

    excel导出一般后台可以实现,但是如果前台已经有了符合要求的数据,也可以在前端纯js导出。在操作excel方面,已经有很多库支持,本文介绍xlsx实现excel导出功能。

    • 安装依赖

    第一步我们要做的就是,需要安装三个依赖。
    FileSaver.js是在客户端保存文件的解决方案,非常适合需要生成文件,或者保存不应该发送到外部服务器的敏感信息的场景。xlsx就是生成excel必要的库。

     

        // npm
        cnpm install --save file-saver xlsx
    
        cnpm install --save script-loader
    
    • 下载js

    第二步,我们需要额外下载两个jsBlob.js和Export2Excel.js
    在src目录下新建Excel文件夹,里面放入Blob.js和Export2Excel.js两个JS文件

    如果没有积分,可以在其github下载

    • 引入js

    第三步,接下来就需要引入这两个js文件,如果导出excel的业务场景比较多,可以挂载在main.js中,因为笔者的项目此类场景比较少,所以在对应的组件中再引用。

     

        //导出excel
        import Blob from '@/excel/Blob'
        const { export_json_to_excel } = require('@/excel/Export2Excel');
    

    Export2Excel.js 中引入Blob的路径也要相应修改。

     

    require('script-loader!file-saver');
    require('./Blob.js'); //改成相对路径
    require('script-loader!xlsx/dist/xlsx.core.min');
    
    • 使用方法

    第四步,可以在组件中使用export_json_to_excel这个方法了,datalist属性就是是数据集,要和filterVal里的属性名要一一对应。

     

    //导出的方法
      exportExcel() {
      
        require.ensure([], () => {
          // 设置Excel的表格第一行的标题
          const tHeader = ['日期','strut1长度', 'strut2长度'];
         //  'date', 'struct1', 'struct2'对象的属性
          const filterVal = [ 'date', 'strut1', 'strut2'];
          
          // 数据集
          const list = this.datalist;  
          const data = this.formatJson(filterVal, list);
          // excel名称可自定义
          const excelName = "excel名称";
          export_json_to_excel(tHeader, data, excelName);
        });
      },
      //格式化json
      formatJson(filterVal, jsonData) {
        return jsonData.map(v => filterVal.map(j => v[j]))
      }
    
    • 调整布局

    第五步,如果出现导出的excel列宽太窄,可以自定义列宽,修改Export2Excel.js中的export_json_to_excel方法中ws['!cols']的属性了

     

    export function export_json_to_excel(th, jsonData, defaultTitle) {
    
        /* original data */
    
        var data = jsonData;
        data.unshift(th);
        var ws_name = "SheetJS";
    
        var wb = new Workbook(), ws = sheet_from_array_of_arrays(data);
    
        // 设置每列的宽度
        ws['!cols'] = [{wpx:100},{wpx:100},{wpx:100},{wpx:100},{wpx:100},{wpx:100},{wpx:100},{wpx:100}];
        /* add worksheet to workbook */
        wb.SheetNames.push(ws_name);
        wb.Sheets[ws_name] = ws;
    
        var wbout = XLSX.write(wb, {bookType: 'xlsx', bookSST: false, type: 'binary'});
        var title = defaultTitle || '列表'
        saveAs(new Blob([s2ab(wbout)], {type: "application/octet-stream"}), title + ".xlsx")
    }
    
    • 总结

    此文只是简单的介绍了如何实现简单的excle导出功能,如果要实现更加复杂的excle布局或者样式,那就要研究Export2Excel.js了,以及xlsx的相关api,以后有时间再补充


     

    展开全文
  • web开发中,我实现了通过模板来导出excel数据,是通过写一个模板,和一个目标文件来实现的,这两个文件是写在项目里面的,但是如果是多个人查询内容不同,然后同时导出这个文件的时候可能就出现导出的结果不是自己想...
  • 打开Excel文件,点击文件-另存为 保存类型为CSV 变成 找到另存为的.CSV文件 右击选择打开方式为记事本 文件-另存为-保存类型(文本文档) python把txt文件中逗号改成空格 下面展示一些 代码。 ls = open("1.txt")...

    Excel导出成txt

    打开Excel文件,点击文件-另存为
    保存类型为CSV
    在这里插入图片描述
    在这里插入图片描述
    变成
    在这里插入图片描述
    找到另存为的.CSV文件
    右击选择打开方式为记事本
    文件-另存为-保存类型(文本文档)

    python把txt文件中逗号改成空格

    下面展示一些 代码

    ls = open("1.txt").readlines()
    newTxt=""
    for line in ls:
        newTxt = newTxt+" ".join(line.split(","))+"\n"
    print(newTxt)
    fo = open("2.txt", "x")#改完保存在新的txt中
    fo.write(newTxt)
    fo.close()
    
    展开全文
  • python导出数据到excel文件的方法: 1、调用Workbook()对象中的add_sheet()方法 wb = xlwt.Workbook() ws = wb.add_sheet('A Test Sheet') 2、通过add_sheet()方法中的write()函数将数据写入到excel中,然后使用...
  • python导出数据到excel文件的方法:1、调用Workbook()对象中的add_sheet()方法wb = xlwt.Workbook()ws = wb.add_sheet('A Test Sheet')2、通过add_sheet()方法中的write()函数将数据写入到excel中,然后使用save()...
  • 我有一个导出EXCEL文件程序,是直接通过浏览器导出保存的。 本人想修改为保存为EXCEL文件形式, 请高手指点: '导出文件 Response.Clear() Response.Buffer = True Response.Charset = "GB2312" ...
  • 想问一下,如何能够通过点击一个自己添加的按钮控件把报表中的内容保存EXCEL文件,或者WORD格式、PDF格式呢? 简单变量的数据绑定,书上写的是形式,可这样写的话,数据出不来,是空白的 而用就可以...
  • 导出数据到Excel文件中二种方法四种形式;其一是创建新的Excel文件实例写入数据;其二是打开已有Excel文档对其执行更新或... private void 数据导出Excel文件(DataGridView 控件名, string [] 创建标头) { Microso
  • 无论使用poi还是使用jxl导出excel都需要用到流 一种是outputstrean,另一种fileoutputstream 第一种:如果想要弹出保存的提示框必须加入下列三句 response.setContentType("application/vnd.ms-excel; charset=utf...
  • MATLAB之将mat中的数据导出Excel文件

    万次阅读 2020-03-10 16:51:17
    MATLAB之将mat中的数据导出Excel文件 原始文档: https://www.yuque.com/lart/tools/cnedve 文章目录MATLAB之将mat中的数据导出Excel文件动机环境方法代码参考链接 动机 部分项目的测试代码使用的还是matlab, ...
  • POI导出Excel和InputStream存储为文件 本文需要说明的两个问题 InputStream如何保存到某个文件夹下 POI生成Excel POI操作utils类 代码如下。主要步骤如下: 创建workbook 创建sheet 生产...
  • Linux的文件如何导出成Windows里的Excel Linux里的文件经常要导出到Windows系统里,用Excel打开,但实际上导出Excel里,会发现每行数据全部被Excel放到了一个属性里。 如何能够把不同的列 分别放到Excel里不同的...
  • 一般导出Excel可以选择POI或者JXL,poi比较方便但是处理大数据量效果不佳,jxl可以支持较大数据量,但是超过5W条也会报OOM错误。 那么如果有上百万条的数据怎么到处Excel呢? 其实Excel可以保存成HTML格式的文档...
  • 看来小伙伴们对账号数据这一块的把控还是比较在意的,前面已经给大家分享过不少查看数据的方法,但是还有小伙伴们问了,如何把运营数据自动统计导出excel。那么这里再给大家分享一个数据导出excel的经验技巧。 工具...
  • 文件用于将信号生成器的数据集提取到 excel 文件中。 1. 打开包含信号构建器模块的 simulink 模型。 2. 只需运行'sig2xls' 3. 信号生成器的数据将保存在模型路径中的目录中。 版权所有(c) 2018。哈里姆公园。...
  • WEB页面上的内容转到Excel档中,导出excel html导出excel jsp导出excel 导出excel实例
  • 本人是新手,老板布置了一个PB的任务,主要实现客户要求的吧我们运行后看到的数据窗口显示的报表的形式导出保存EXCEL文件,并要求做一个通用的模板,对数据进行操作,可是本人从没学过PB,现在突然要完成这么有...
  • 目前正在使用extjs开发一个网站,使用了GridPanel,我想这个表格的内容导出excel文件中,然后保存在服务器上,而不是下载到客户端。目前在servlet中代码如下: public void doGet(HttpServletRequest request, ...
  • 支持读取和写入Microsoft Excel™2007和更高版本生成的XLSX文件。 支持保存文件而不会丢失XLSX的原始图表。 该库需要Go 1.10或更高版本。 可以使用go的内置文档工具查看完整的API文档,也可以在线访问 godoc.org和...
  • 在使用openpyxl导出Excel表格的使用,如何指定导出的路径呢。 使用sava(filename),会保存到当前执行文件的路径下。 使用sava("/tmp/{}.xlsx".format(filename)),将路径添加进去就可以。 其实这个怎么说,又简单...
  • 如何使用JavaScript从excel导入数据到HTML页面把html导出成txt文件,然后再把txt文件导入Excel:1、首打开excel,选择数据选项卡,自文本选2、在弹出的资理器界面选择存放好的txt文件后,点击打开按钮。3、此时弹出...

空空如也

空空如也

1 2 3 4 5 ... 17
收藏数 326
精华内容 130
关键字:

导出excel文件如何保存