导航:首页 > 文件类型 > js数据导出excel文件

js数据导出excel文件

发布时间:2024-01-06 03:12:19

Ⅰ EasyUI 结合js导出Excel文件的实现方法

废话俺就少说了,直接进入正题!!单纯的JS能够导出Excel的不多见,一般都需要调用客户端所安装的Office
Excel组件来完成这个工作。这里我主要讲EasyUI内的DataGrid如何结合JS导出Excel文件
一、
导出Excel的核心代码段如下所示
function
Exproter()
{
//获取Datagride的列
var
rows
=
$('#test').datagrid('getRows');
var
oXL
=
new
ActiveXObject("Excel.Application");
//创建AX对象excel
var
oWB
=
oXL.Workbooks.Add();
//获取workbook对象
var
oSheet
=
oWB.ActiveSheet;
//激活当前sheet
for
(var
i
=
0;
i
<
rows.length;
i++)
{
oSheet.Cells(i
+
1,
1).value
=
rows[i].O_NAME;
}
oXL.Visible
=
true;
//设置excel可见属性
}
二、以上JS方法能够顺利执行的大前提就是
1.机器上Excel已经安装.
2.Internet
选项=>安全=>Internet
\"对没有标记为安全的ActiveX控件进行初始化和脚本运行,设定为启用\"
//EasyUI
datagrid
动态导出Excel
function
ExporterExcel()
{
//获取Datagride的列
var
rows
=
$('#tt').datagrid('getRows');
var
columns
=
$("#tt").datagrid("options").columns[0];
var
oXL
=
new
ActiveXObject("Excel.Application");
//创建AX对象excel
var
oWB
=
oXL.Workbooks.Add();
//获取workbook对象
var
oSheet
=
oWB.ActiveSheet;
//激活当前sheet
//设置工作薄名称
oSheet.name
=
"导出Excel报表";
//设置表头
for
(var
i
=
0;
i
<
columns.length;
i++)
{
oSheet.Cells(1,
i+1).value
=
columns[i].title;
}
//设置内容部分
for
(var
i
=
0;
i
<
rows.length;
i++)
{
//动态获取每一行每一列的数据值
for
(var
j
=
0;
j
<
columns.length;
j++)
{
oSheet.Cells(i
+
2,
j+1).value
=
rows[i][columns[j].field];
}
}
oXL.Visible
=
true;
//设置excel可见属性
}
以上就是小编为大家带来的EasyUI
结合JS导出Excel文件的实现方法全部内容了,希望大家多多支持脚本之家~

Ⅱ vue项目中如何把表格导出excel表格

有一个项目需求,要求在前端项目中导出Excel表格,经过查找代码,Vue.js确实可以实现,具体实现步骤为:
1. 安装依赖
//npm npm install -S file-saver xlsx
npm install -D script-loader

或者
//yarnyarn add file-saver
yarn add xlsx
yarn add script-loader --dev

2.导入两个JS
下载Blob.js和Export2Excel.js,在src目录下新建Excel文件夹,里面放入Blob.js和Export2Excel.js两个JS文件

image
**3.在main.js引入这两个JS文件 **
import Blob from './excel/Blob'import Export2Excel from './excel/Export2Excel.js'

4.在组件中使用
//导出的方法exportExcel() {
require.ensure([], () => {
const { export_json_to_excel } = require('../excel/Export2Excel');
const tHeader = ['序号', '昵称', '姓名'];
// 上面设置Excel的表格第一行的标题
const filterVal = ['index', 'nickName', 'name'];
// 上面的index、nickName、name是tableData里对象的属性
const list = this.tableData; //把data里的tableData存到list
const data = this.formatJson(filterVal, list);
export_json_to_excel(tHeader, data, '列表excel');
})
},

formatJson(filterVal, jsonData) {
return jsonData.map(v => filterVal.map(j => v[j]))
}

tHeader是表头,filterVal 中的数据是表格的字段,tableData中存放表格里的数据,类型为数组,里面存放对象,表格的每一行为一个对象。
tableData 中的值为:
data () {
return {
tableData: [
{'index':'0',"nickName": "沙滩搁浅我们的旧时光", "name": "小明"},
{'index':'1',"nickName": "女人天生高贵", "name": "小红"},
{'index':'2',"nickName": "海是彩色的灰尘", "name": "小兰"}
]
}
}

最后实现的效果图:

image
如果运行时,报如下所示的错误:

image
这是因为Export2Excel.js的设置需要改下:

image
注: 把require('script-loader!vendor/Blob')改为 require('./Blob.js')
demo 地址:https://github.com/dt8888/exportExcel

Ⅲ react--使用js-xlsx实现excel文件的导入导出及预览

    最近公司项目要求对之前后端excel操作做优化,需要放到前端来做。讲道理,我觉得没啥子必要,尤其是当我在官网导入一张5k+的excel时浏览器卡死后更是觉得需求之智障。但是没法子,还是要先自己做出来看看实际效果才行,我直接原地6个点......

导出

     安装依赖

        cnpm i xlsx --save

     实现

         定义公共组件Excel,该组件需要提供导出按钮,当点击时触发相应逻辑

         组件可接收的参数如下

                默认值如下

             根据传入的type类型决定到底是显示导入、导出、预览按钮还是都显示

             当点击导出按钮,触发回调

                引入xlsx

                导出逻辑

                首先要做的就是校验是否用户自己实现了导出函数,以及传入的数据是否为数据且是否为空,由于不止导出要用,故放到untils中作公共函数,其他的辅助函数也从中导出

                     isVoid函数

                      getTable函数

                     getSheetHead函数

                     format函数

                     getCharCol函数

             导出结果如下

     改进

        可能你也发现了,导出的结果是没有样式信息的,那么如何增加样式呢?答案是xlsx-style

         安装依赖

            cnpm i xlsx-style --save

            npm install file-saver --save

         xlsx-style导入报错

            将报错文件一份,修改后放到assets目录下

            找到umijs的webpack配置文件,新增如下配置

         增加文字颜色和首行高亮处理

                增加辅助函数calculateWidth

                增加辅助函数addHeadlineStyle

                导出方式使用filesave

                效果如下

导入

        现在,我们来完成导入功能,并且导入后需要使用表格进行分页预览

         新增modal弹窗,用作预览界面

        对应函数renderBody如下

        对应函数renderButton如下

        对应函数onPageChange如下

        点击导入按钮,回调处理如下

        新增的辅助函数如下

        新增组件状态如下

        导入预览效果如下

文档

    https://www.npmjs.com/package/xlsx-style

    https://github.com/eligrey/FileSaver.js

    https://www.npmjs.com/package/xlsx?activeTab=readme

如有问题,欢迎评论指正哦~~

最后,还有个很重要的事情,点个赞再走吧,客官~~

javaScript 原生 提取excel文件 需要学习那些知识或者哪方面的,不要插件。最好有例子。

JavaScript is a versatile platform that allows easy customization of client-side scripting tools. In some applications, it's useful to have some sort of spreadsheet interface that is easy to code and maintain. TheSpreadJS client-side JavaScript spreadsheet component, part of the SpreadJS package, is perfect for this.

A JavaScript export to Excel

You can import and export Excel files, and provide users with an interface to interact with those files -- all in pure JavaScript. In this tutorial, I'll show you how easy it is to add a SpreadJS component to an HTML page and import an Excel file into it.

Set Up the JavaScript Spreadsheet Project

Create a new HTML page and add references to the Spread.Sheets script and the CSS files that are included in your SpreadJS download:

<!DOCTYPE html> <html> <head>
<title>SpreadJS ExcelIO</title>

<script src="http://code.jquery.com/jquery-2.1.3.min.js" type="text/javascript"></script>
<script src="http://code.jquery.com/ui/1.11.4/jquery-ui.min.js" type="text/javascript"></script>

<link href="http://cdn.grapecity.com/spreadjs/hosted/css/gc.spread.sheets.excel2013white.10.1.0.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="http://cdn.grapecity.com/spreadjs/hosted/scripts/gc.spread.sheets.all.10.1.0.min.js"></script>
<script type="text/javascript" src="http://cdn.grapecity.com/spreadjs/hosted/scripts/interop/gc.spread.excelio.10.1.0.min.js"></script> </head> <body>
<div id="ss" style="height:600px ; width :100%; "></div> </body> </html>

Then add a script to the page that initializes the Spread.Sheets component, and a div element to contain it (since the SpreadJS spreadsheet component utilizes a canvas, this is necessary to initialize the component):


<script type="text/javascript">
$(document).ready(function () {
var workbook = new GC.Spread.Sheets.Workbook(document.getElementById("ss"));
});
</script> </head> <body>
<div id="ss" style="height:600px ; width :100%; "></div> </body>

Add Excel Import Code

We need to create an instance of the client-side ExcelIO component that we can use to actually open the file:

var excelIO = new GC.Spread.Excel.IO();

Then we need to add a function to import a file. In this example, we import a local file, but you can do the same thing with a file on a server. If you’re importing a file from a server, you need to reference the location. The following is an example of an input element where the user can enter the location of the file:

<input type="text" id="importUrl" value="http://www.testwebsite.com/files/TestExcel.xlsx" style="width:300px" />

Once you have that, you can directly access that value in script code:

var excelUrl = $("#importUrl").val();

The following code for the import function just uses a local file for the "excelUrl" variable:

function ImportFile() {
var excelUrl = "./test.xlsx";

var oReq = new XMLHttpRequest();
oReq.open('get', excelUrl, true);
oReq.responseType = 'blob';
oReq.onload = function () {
var blob = oReq.response;
excelIO.open(blob, LoadSpread, function (message) {
console.log(message);
});
};
oReq.send(null);
}
function LoadSpread(json) {
jsonData = json;
workbook.fromJSON(json);

workbook.setActiveSheet("Revenues (Sales)");
}

Regardless of whether you're referencing a file on a server or locally, you'll need to add the following to your script inside the$(document).readyfunction:

$(document).ready(function () {
$.support.cors = true;
workbook = new GC.Spread.Sheets.Workbook(document.getElementById("ss"));
//... });

你可以搜寻 黑体字 , 如果需要更详细的介绍

Ⅳ vue2.0 + element UI 中 el-table 数据导出Excel的方法

1、安装相关依赖
主要是两个依赖
npm
install
--save
xlsx
file-saver
如果想详细看着两个插件使用,请移步github。
https://github.com/SheetJS/js-xlsx
https://github.com/eligrey/FileSaver.js
2、组件里头引入
import
FileSaver
from
'file-saver'
import
XLSX
from
'xlsx'
3、组件methods里写一个方法
exportExcel
()
{
/*
generate
workbook
object
from
table
*/
var
wb
=
XLSX.utils.table_to_book(document.querySelector('#out-table'))
/*
get
binary
string
as
output
*/
var
wbout
=
XLSX.write(wb,
{
bookType:
'xlsx',
bookSST:
true,
type:
'array'
})
try
{
FileSaver.saveAs(new
Blob([wbout],
{
type:
'application/octet-stream'
}),
'sheetjs.xlsx')
}
catch
(e)
{
if
(typeof
console
!==
'undefined')
console.log(e,
wbout)
}
return
wbout
},
注意:XLSX.uitls.table_to_book(
放入的是table
的DOM
节点
)
,sheetjs.xlsx
即为导出表格的名字,可修改!
4、点击导出按钮执行
exportExcel
的方法即可

组件里头代码截图:
实现效果图如下:
导出如下表格的数据到excel。
导出到excel
表格,结果如下:
相关链接:
工具的其他使用场景(
如react
、jQ、angular
)
http://sheetjs.com/
以上这篇vue2.0
+
element
UI

el-table
数据导出Excel的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:Vue2.0实现将页面中表格数据导出excel的实例vue
+
element-ui实现简洁的导入导出功能详解vue2.0的Element
UI的表格table列时间戳格式化Element-ui
table中过滤条件变更表格内容的方法

Ⅵ JS 下载/导出 csv、excel、txt 、img等文件的方法总结

1. 调用后端接口导出文件

示例下载接口url https://gold-cdn.xitu.io/extension/0.3.9/package.crx

1.1 window.open(url)

会打开一个新窗口,开始下载后会自动关闭新窗口。Safair 下载后没有关闭新窗口。

Chrome、IE、Safair支持,貌似火狐不支持

1.2 window.location=url

在当前窗口下载

Chrome、Safair支持

1.3 iframe

在HTML中,iframe 的属性用src,但在JS中,只有部份浏览器支持修改src(读是没问题),真正通用的是要修改对应框架的href值。

1.4 <a href="url" download="filename">点击链接下载</a>

HTML5中给a标签增加了一个download属性,只要有这个属性,点击这个链接时浏览器就不在打开链接指向的文件,而是改为下载,目前只有chrome、firefox、opera、Edge支持。常用此方法点击下载图片。

IE既不支持a标签的download属性也不允许js调用a 标签的click方法。

2. 前端直接导出文件到本地

2.1 将数据转成DataURI用<a>标签下载

<a href="DataURI" download="filename">点击链接下载</a>

Data URI Scheme

Data URI Scheme是指可以在Web 页面中包含图片但无需任何额外的HTTP 请求的一类URI。 Data URI Scheme一般用于将经过base64编码的数据嵌入网页中,从而减少请求资源的链接数。IE8 之前的版本都不支持 data URI scheme。

DataURI的格式:

生成DataURI的方式

1. encodeURIComponent

使用这种方式,当数据过多时,URI长度容易超出浏览器限制。 encodeURIComponent常用来转码接口参数,为了避免服务器收到不可预知的请求,对任何用户输入的作为URI部分的内容都需要用encodeURIComponent进行转义。

2. URL.createObjectURL

URL.createObjectURL的参数是File对象或者Blob对象

IE10以下不支持URL.createObjectURL

2.2 windows.navigator.msSaveBlob IE10~Edge 专用

msSaveBlob 是IE10~Edge 私有方法。

2.3 execCommand

有的资料有提到IE9可以使用execCommand方法来保存数据到本地文件,但是我自己没有验证过,不知道是否可行。而且MDN文档中execCommand没有查到SaveAs命令。这块只是做个小记录。

js数据直接导出/下载数据到本地到方法总结

本文转载自:https://juejin.im/post/5cd00253518825418f6f2a8c?utm_source=gold_browser_extension

Ⅶ 怎么使用数据库筛选js文件的数据并导出到excel

大家在使用数据库的时候经常会用到数据库中的数据,小编今天分享一个简单的数据库数据,导出的教程。经常使用数据库的导出功能,能够对数据库中的数据进行很好的备份,在数据库安全中备份也是数据库安全必不可少的安全策略之一。读者掌握了数据库的导出备份,对数据的收集、分析和整理将大有益处。
开启分步阅读模式
工具材料:
SQLyogEnt
操作方法
01
首先我们使用SQLyogEnt工具,连接到mysql数据库。

02
连接成功后在左侧的目录位置,找到需要的表,右键打开表

03
也可以直接在sql执行器中输入:
select * from datetable name
打开这个表

04
在sql执行器的下方,结果下方,最左侧的位置,如下图,有一个小图标,鼠标移动上面会浮出文字“导出为....”点击这个图标

05
点击后会弹出一个名为“导出为”的弹出窗口,选择需要导出的文件格式:如csv、html、xnl等,在右侧选择导出的字段
06
在界面的最下方有一个输入框,框中是程序默认的一个导出的路径,也可以点击路径旁的按钮,进行自定义导出文件路径。

07
最后点击【导出】按钮,点击后会有一个小的提示窗,提示信息为“date exporet successfully”点击【确定】按钮,完成导出操作

08
最后就是在导出目录中找到导出的文件,查看导出是否成功。
09
这里需要注意一下,csv格式的文件,如果用excel打开会出现乱码,因为编码不同,如果使用txt打开则不会有这样的问题。
方法/步骤2
01
在方法步骤1中第二个步骤也可以选择,备份导出,这样也能够导出数据,但是这种数据由于没有进行sql的筛选,导出的是整张表的数据,读者需要注意一下。

特别提示
读者可以先用sql对数据表中数据进行筛选,然后再导出

Ⅷ js如何导出exel文件

简单的办法:使用js生成一个table,可以直接复制到excel中,网上有很多表格插件。

复杂的办法:js传递数据到服务器,服务器生成表格后返回一个下载链接。

阅读全文

与js数据导出excel文件相关的资料

热点内容
镜像文件游戏怎么安装 浏览:388
java构建函数 浏览:257
excel文件房屋信息 浏览:629
迷你编程更新为什么领不了皮肤 浏览:503
微信公共账号登录入口 浏览:820
蝴蝶钱包app 浏览:681
联通查询账号密码修改 浏览:774
文件头线到上纸边距离是多少 浏览:36
苹果手机怎样备份文件在哪里 浏览:425
zemax在哪里编程ZPL 浏览:563
如何撤销word空白页 浏览:296
什么叫网络连接超时 浏览:49
京东热点代码 浏览:484
慧博app下载的文件放在哪里 浏览:859
PDF文件横向太长显示不出来 浏览:974
js缓存文件怎么打开 浏览:983
网页如何打开编程码 浏览:369
网站被终止安全访问怎么办 浏览:672
用微信送达文件 浏览:655
win7硬盘安装文件损坏 浏览:394

友情链接