js导入xls文件?对于Node.js,只要通过NPM安装:npm install xlsjs node > require('xlsjs').readFile('excel_file.xls');然后,我们可以简单地使用他们提供的代码在他们的index.html文件解析和转换的xls文件JSON,CSV或公式为基础的输出。那么,js导入xls文件?一起来了解一下吧。
只要网页能显示图片,就能导出到EXCEL
var idTmr = "";
function copy(tabid){
var oControlRange = document.body.createControlRange();
oControlRange.add(tabid,0);
oControlRange.select();
document.execCommand("Copy");
}
function toExcel(tabid){
copy(tabid);
try{
var xls = new ActiveXObject( "Excel.Application" );
}catch(e){
alert( "Excel没有安装或浏览器设置不正确.请启用所有Active控件和插件");
return false;
}
xls.visible = true;
var xlBook = xls.Workbooks.Add;
var xlsheet = xlBook.Worksheets(1);
xlBook.Worksheets(1).Activate;
for(var i=0;i xlsheet.Columns(i+1).ColumnWidth=15; } xlsheet.Paste; xls=null; idTmr = window.setInterval("Cleanup();",1); } function Cleanup() { window.clearInterval(idTmr); CollectGarbage(); } 你的table
//在IE浏览器里工具-》internet选项-》安全-》自定义级别-》把你禁用的都打开
获取行/列
var colcount=wb.Worksheets(1).UsedRange.Cells.Rows.Count ;
var colcolumn=wb.Worksheets(1).UsedRange.Columns.Count;
读取本地Excel文件内容的Javascript代码:
function read_excel(){
var filePath="D:\abcd9.com.xls"; //要读取的xls
var sheet_id=2; //读取第2个表
var row_start=3; //从第3行开始读取
var tempStr='';
try{
var oXL = new ActiveXObject("Excel.application"); //创建Excel.Application对象
}catch(err)
{
alert(err);
}
var oWB = oXL.Workbooks.open(filePath);
oWB.worksheets(sheet_id).select();
var oSheet = oWB.ActiveSheet;
var colcount=oXL.Worksheets(sheet_id).UsedRange.Cells.Rows.Count ;
for(var i=row_start;i<=colcount;i++){
if (typeof(oSheet.Cells(i,8).value)=='date'){ //处理第8列部分单元格内容是日期格式时的读取问题
d= new Date(oSheet.Cells(i,8).value);
temp_time=d.getFullYear()+"-"+(d.getMonth() + 1)+"-"+d.getDate();
}
else
temp_time=$.trim(oSheet.Cells(i,7).value.toString());
tempStr+=($.trim(oSheet.Cells(i,2).value)+" "+$.trim(oSheet.Cells(i,4).value)+" "+$.trim(oSheet.Cells(i,6).value.toString())+" "+temp_time+"\n");
//读取第2、4、6、8列内容
}
return tempStr; //返回
oXL.Quit();
CollectGarbage();
}
JS-XLS
JS-XLS的安装是很简单的,在浏览器中使用该脚本文件,并使用脚本标记加载它:
对于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 = 'copy';
}
if(drop.addEventListener) {
drop.addEventListener('dragenter', handleDragover, false);
drop.addEventListener('dragover', handleDragover, false);
drop.addEventListener('drop', handleDrop, false);
}
JS代码很容易理解,它使用了HTML5拖放API允许我们上传文件然后看他们为二进制字符串。
前端开发者的福音:深入解析js-xlsx插件的实战指南
js-xlsx,作为SheetJS出品的杰出之作,为前端开发者提供了一站式的Excel文件处理解决方案。它兼容众多格式,包括xls、xlsx、ods等,让你的代码能够无缝对接十几种电子表格标准。这款工具库的卓越之处在于其简洁的纯JS接口,让你无需担心特定文件类型的限制,专注于数据的高效操作。
兼容性与原理揭秘
在js-xlsx出现之前,市面上的工具通常局限于单一格式支持。然而,js-xlsx打破了这种局限,采用"Common Spreadsheet Format",通过纯JS的统一展示方式,实现了格式转换和嵌套类标签的灵活处理。这样,无论面对何种未知格式,都能保持一致的显示效果。同时,它巧妙地剥离了复杂格式的繁琐,使得在老式浏览器和扩展环境(如Web Workers)下也能流畅运行,尽管可能牺牲了部分最新特性的支持,但为了确保兼容性,这是明智的选择。
js-xlsx的功能强大且实用,无论是简单的数据对象转换,还是复杂的数据处理,都能通过寥寥几行代码轻松搞定。
导出xls显示javascript:;解决的方法是
1、修改导出代码:如果是自己编写的导出代码出现了问题,可以尝试修改代码,确保在导出时正确地处理链接的href属性。具体的修改方式需要根据具体的代码实现来确定。
2、使用第三方库:如果是使用第三方库进行导出时出现了问题,可以尝试使用其他的第三方库或者更新当前库的版本。一些流行的第三方库,如SheetJS等,提供了比较完善导出的xls文件中显示的是javascript:;很可能是在导出时没有正确地处理链接的href属性。的导出功能,并且能够正确地处理链接的href属性。
以上就是js导入xls文件的全部内容,js-xlsx 是一款由 SheetJS 出品的工具库,专为前端开发者提供读取和导出 Excel 文件的功能。这款库功能强大,支持多种格式,包括 xls、xlsx、ods 等十几种文件格式。为了提高不同格式文件的兼容性,js-xlsx 使用一种称作“Common Spreadsheet Format”的纯 JS 显示方法。内容来源于互联网,信息真伪需自行辨别。如有侵权请联系删除。