導航:首頁 > 文件類型 > js重組Excel文件

js重組Excel文件

發布時間:2024-08-23 10:56:41

A. js 或php把excel 文件轉換成html

JS 和 PHP 兩種語言都能實現,主要是看LZ對何種語言熟練。
JS實現Excel轉換功能,一般會用到ActiveX技術來操作Excel文件,這樣的好處就是無需了解Excel本身的文件數據格式,通過ActiveX對象來實現Excel內容的解析(據我所知,微軟沒有公布Excel文件格式),比較方便,JS調用ActiveX對象的方法,網路有現成的方法。
其次是PHP語言,PHP和JS都為腳本語言,所以PHP也可以使用和JS相同的方法來實現。另外值得欣慰的時,PHP有免費開源的Office文檔操作庫,LZ可以在網路上找到,在自己的PHP中直接Include過來就能使用。
希望有所幫助,謝謝!
openDocObj = new ActiveXObject("SharePoint.OpenDocuments.2");

B. 怎麼使用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用另一個包。

閱讀全文

與js重組Excel文件相關的資料

熱點內容
word刪除章節附註分隔符 瀏覽:773
公告質疑需要哪些文件 瀏覽:608
資料庫模型是干什麼的 瀏覽:404
win10的驅動怎麼安裝驅動 瀏覽:320
word文件水印怎麼取消 瀏覽:443
rhel6的鏡像文件在哪裡下載 瀏覽:571
成功正能量微信頭像 瀏覽:848
wps表格如何恢復數據 瀏覽:264
linuxc靜態庫創建 瀏覽:838
u盤有微信文件但微信恢復不了 瀏覽:585
蘋果的網站數據是什麼 瀏覽:22
ps滾字教程 瀏覽:237
win7網路鄰居如何保存ftp 瀏覽:186
安卓客戶端代理伺服器 瀏覽:572
編程用蘋果 瀏覽:659
51虛擬機的文件管理在哪裡 瀏覽:13
win10系統有沒有便簽 瀏覽:722
java引用傳遞和值傳遞 瀏覽:109
oracle下載安裝教程 瀏覽:854
php篩選資料庫 瀏覽:830

友情鏈接