導航:首頁 > 文件類型 > 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文件相關的資料

熱點內容
京東熱點代碼 瀏覽:484
慧博app下載的文件放在哪裡 瀏覽:859
PDF文件橫向太長顯示不出來 瀏覽:974
js緩存文件怎麼打開 瀏覽:983
網頁如何打開編程碼 瀏覽:369
網站被終止安全訪問怎麼辦 瀏覽:672
用微信送達文件 瀏覽:655
win7硬碟安裝文件損壞 瀏覽:394
最終幻想14版本職業 瀏覽:175
紅警2哪個版本好 瀏覽:290
app開發短視頻頁面用什麼技術 瀏覽:471
魅族mx3手機後台運行程序圖標怎麼去掉 瀏覽:344
微信號突然被永久封 瀏覽:298
代碼質量度量模型 瀏覽:338
狗幣doge挖礦教程 瀏覽:976
硬幣問題java 瀏覽:834
什麼能查看csgo戰績app 瀏覽:822
dnf怎麼修復文件損壞 瀏覽:609
ubuntu1004安裝教程 瀏覽:764
華為榮耀a5怎麼刷機教程 瀏覽:982

友情鏈接