① 怎麼使用github的js-xlsx庫進行excel文件處理
JS-XLS
JS-XLS的安裝是很簡單的,在瀏覽器中使用該腳本文件,並使用腳本標記載入它:
<!-- https://github.com/SheetJS/js-xls/blob/master/xls.js -->
<script src="/path/to/xls.js"></script>
對於Node.js,只要通過NPM安裝:
$ npm install xlsjs
$ node
> require('xlsjs').readFile('excel_file.xls');
然後,我們可以簡單地使用他們提供的代碼在他們的index.html文件解析和轉換的xls文件JSON,CSV或公式為基礎的輸出。
function get_radio_value( radioName ) {
var radios = document.getElementsByName( radioName );
for( var i = 0; i < radios.length; i++ ) {
if( radios[i].checked ) {
return radios[i].value;
}
}
}
function to_json(workbook) {
var result = {};
workbook.SheetNames.forEach(function(sheetName) {
var roa = XLS.utils.sheet_to_row_object_array(workbook.Sheets[sheetName]);
if(roa.length > 0){
result[sheetName] = roa;
}
});
return result;
}
function to_csv(workbook) {
var result = [];
workbook.SheetNames.forEach(function(sheetName) {
var csv = XLS.utils.make_csv(workbook.Sheets[sheetName]);
if(csv.length > 0){
result.push("SHEET: " + sheetName);
result.push("");
result.push(csv);
}
});
return result.join("\n");
}
function to_formulae(workbook) {
var result = [];
workbook.SheetNames.forEach(function(sheetName) {
var formulae = XLS.utils.get_formulae(workbook.Sheets[sheetName]);
if(formulae.length > 0){
result.push("SHEET: " + sheetName);
result.push("");
result.push(formulae.join("\n"));
}
});
return result.join("\n");
}
var tarea = document.getElementById('b64data');
function b64it() {
var cfb = XLS.CFB.read(tarea.value, {type: 'base64'});
var wb = XLS.parse_xlscfb(cfb);
process_wb(wb);
}
function process_wb(wb) {
var output = "";
switch(get_radio_value("format")) {
case "json":
output = JSON.stringify(to_json(wb), 2, 2);
break;
case "form":
output = to_formulae(wb);
break;
default:
output = to_csv(wb);
}
if(out.innerText === undefined) out.textContent = output;
else out.innerText = output;
}
var drop = document.getElementById('drop');
function handleDrop(e) {
e.stopPropagation();
e.preventDefault();
var files = e.dataTransfer.files;
var i,f;
for (i = 0, f = files[i]; i != files.length; ++i) {
var reader = new FileReader();
var name = f.name;
reader.onload = function(e) {
var data = e.target.result;
var cfb = XLS.CFB.read(data, {type: 'binary'});
//var arr = String.fromCharCode.apply(null, new Uint8Array(data));
//var cfb = XLS.CFB.read(btoa(arr), {type: 'base64'});
var wb = XLS.parse_xlscfb(cfb);
process_wb(wb);
};
reader.readAsBinaryString(f);
//reader.readAsArrayBuffer(f);
}
}
function handleDragover(e) {
e.stopPropagation();
e.preventDefault();
e.dataTransfer.dropEffect = '';
}
if(drop.addEventListener) {
drop.addEventListener('dragenter', handleDragover, false);
drop.addEventListener('dragover', handleDragover, false);
drop.addEventListener('drop', handleDrop, false);
}
JS代碼很容易理解,它使用了HTML5拖放API允許我們上傳文件然後看他們為二進制字元串。二進制,然後直接傳遞到庫,並進一步分析使用此代碼:
var cfb = XLS.CFB.read(data, {type: 'binary'});
var wb = XLS.parse_xlscfb(cfb);
最終,WB(Workbook)對象是處理並轉換成需要的格式(JSON,CSV和Excel公式)。這沒有HTML5拖放文件閱讀器的API,可用於Node.js代碼相同。
註:此模塊不支持xlsx。為了克服這一限制,我們可以通過同一作者稱為JS-XLSX用另一個包。
② 使用nodejs處理Excel文件
node-xlsx: 基於Node.js解析excel文件數據及生成excel文件;
excel-parser: 基於Node.js解析excel文件數據,支持xls及xlsx格式文件;
excel-export : 基於Node.js將數據生成導出excel文件,生成文件格式為xlsx;
node-xlrd: 基於node.js從excel文件中提取數據,僅支持xls格式文件。
用一個處理Excel文件的項目來說明
首先新建文件夾xlsx,在此文件夾下安裝依賴
新建input文件夾,並將需要修改的文件拷貝到此文件夾下
新建index.js文件
執行js腳本:
在output文件夾下查詢修改後文件
③ js解析excel表格
https://www.cnblogs.com/liuxianan/p/js-excel.html
由 SheetJS 出品的js-xlsx是一款非常方便的只需要純JS即可讀取和導出excel的工具庫,功能強大,支持格式眾多,支持xls、xlsx、ods(一種OpenOffice專有表格文件格式)等十幾種格式。本文全部都是以xlsx格式為例。
dist目錄下有很多個JS文件,一般情況下用xlsx.core.min.js就夠了,xlsx.full.min.js則是包含了所有功能模塊。
javaScript讀取和導出excel示例(基於js-xlsx)
http://demo.haoji.me/2017/02/08-js-xlsx/
④ javascript如何操作excel
javascript只是一個普通的腳本,是無法操作excel
的,如果要操畢畢作excel請用asp等網路編程軟體,不過也得需要一知茄些組件才行!手猛芹
⑤ 怎麼用js將excel中的數據讀取後顯示到網頁中的表格
1、進入Internet屬性。
2、點擊安全。
3、選擇自定義級別。
4、把ActiveX控制項和插件下的所有選項都改成啟用。
5、伺服器生成html格式的Excel,然後設置
⑥ js怎麼批量讀取多個excel數據
可以使用吵念Node.js的Excel模塊,如:xlsx、exceljs等,來讀取多個excel數據。
示例代碼:
const XLSX = require('xlsx');
// 讀取excel文件
const workbook = XLSX.readFile('data.xlsx');
// 獲取 Excel 中所有表名
const sheetNames = workbook.SheetNames;
// 根據表名獲取跡卜對應某張表
const worksheet = workbook.Sheets[sheetNames[0]];姿碰穗
// 讀取數據
const data = XLSX.utils.sheet_to_json(worksheet);
console.log(data);
⑦ Javascript中如何打開本地Excel文件,並且Excel編輯後,點擊Excel中的保存仍然保存到原文件中
你是說使用ActiveX控制項來操作EXCEL吧。如使用weboffice控制項,嵌入到網頁中,就可以在網頁中打開、編輯、保存excel文件了。一般這樣的控制項都要錢的。NTKO OFFICE文檔控制項,這個有破解版的
⑧ 用javascript怎麼實現把excel中的數據批量導入到資料庫表中
利用jquery里的ocupload這個js組件,步驟和實現文件上傳一樣,將你要導入的excel表格進行上傳到服務端,然後在工程里導入apache的poi這poi-ooxml以及poi-schemas這三個jar包,接受到文件對象後,利用裡面的HSSWorkBook這個對象來解析excel里的每行數據,通過對應的數據類型對象添加到資料庫里即可
1.將選中的數據快兒拷貝到一個TXT文本文件中(記得把後面的空格消掉。。否則導入資料庫後會有對應的空行),假如存到「D:data.txt」這個位置里。
2.根據要導入的數據快兒建立MySql資料庫和表,然後進入命令提示符里使用命令
load data local infile 'D:/data.txt' into table exceltomysql fields terminated by ' '
注意:盤符我使用的「/」才成功,否則提示找不到文件 下面文章中是用的「」!
進行導入操作
手動進行Excel數據和MySql數據轉換
最快的方法是把EXCEL的數據以CSV的格式導出,到ACCESS導入CSV的那個文件,然後再用ACCESS導出DBF的格式,mySQL可以直接支持和讀取DBF格式的資料庫文件。
1、在EZDML中打開表,全選,復制,在EXCEL中新建表,粘貼。
2、在EZDML中導出數據,保存為EXCEL文件。
3、在EZDML中導出數據,保存為ACCESS文件,然後在ACCESS資料庫中打開表,全選,復制,在EXCEL中新建表,粘貼。
4、在EZDML中導出數據,保存為TXT、XML等通用文件,然後在ACCESS中導入為數據表,再打開表,全選,復制,在EXCEL中新建表,粘貼。
我的空間中記載了一種方法,是我以前在工作時使用的,你可以借鑒下:
:hi../yueyun889/blog/item/fdd23d38a952b624b9998f5a.
你是說SQL server的吧。。。
把查出來的記錄全部選中,右鍵選保存,保存為cvs的文件格式,再打開cvs的文件,重新保存成xls格式的就可。
1、啟動SQL企業管理器,選中 表格:1、點擊滑鼠右鍵 2、所以任務 3、導入數據
2、選擇數據源
3、選擇文件路徑
4、按txt文本格式,選擇相應的分隔符和間距,就可以了。
基於Visual Basic編程語言,舉例說明利用VB實現循環將本地Excel數據批量導入到遠程的SQL Server資料庫的方法。
1、打開文字文檔以後,先做好表格,接著找到文檔中工具欄的「工具」按鈕。
2、點擊之後,就會彈出一個命令菜單,在其中找到「郵件合並工具欄」,點擊「郵件合並工具欄」以後就會出現如下圖2的一個工具欄了。
3、在這個工具欄中找到如下圖的圖標,點擊打開數據源。
4、接著就會出現一個選擇框,選擇好需要導入的數據源excel文件,點擊確定。
5、接著滑鼠如下圖點擊要導入數據文檔表格中的單元格,讓游標在這個單元格總閃動,然後點擊第二幅圖上的圖標「插入合並域」。
6、接著選擇要輸入的項目,點擊確定,就能看到第二幅圖中單元格里出現了《姓名》,出生日期和性別也可以用同樣的方法輸入。
7、然後點擊如下圖」合並到新文檔「,在合並到新文檔設置中選擇要導入的數據起始行和結束行,點擊確定。
8
8、接著你就會發現excel中的數據全部導入到了文檔的表格里。
⑨ Excel中加入Javascript
在excel中引用javascript ,VBA和javascript混合工作。
【例子】 Sub yy02()
Dim js As New ScriptControl
js.Language = "javascript"
js.Eval "function arr(aa){return aa.value.toArray()}" 'toArray一定不能寫成toarray
Set y = js.Run("arr", [a1:d1])
MsgBox y
End Sub
將上面的代碼,專拷貝到VBA編輯器中屬,可以運行 現在在excel中,越來越多的使用XML\JAVAECRIPT\VBSCRIPT。
比如僅僅用VBA實現多層繼承和多根繼承很難,但是加上javascript就不難了
VBA中數組應用佔了很大的比重,如果加進去javascript就更加靈活了
處理樹形結構的數據,用MSDOM\XML就方便多了