js如何导出exel文件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js如何导出exel文件?相关的知识,希望对你有一定的参考价值。

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

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

javascript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在html(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。 

在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。

为了取得技术优势,微软推出了JScript,CEnvi推出ScriptEase,与JavaScript同样可在浏览器上运行。为了统一规格,因为JavaScript兼容于ECMA标准,因此也称为ECMAScript。

Microsoft Excel是微软公司的办公软件Microsoft office的组件之一,是由Microsoft为Windows和Apple Macintosh操作系统的电脑而编写和运行的一款试算表软件。Excel 是微软办公套装软件的一个重要的组成部分,它可以进行各种数据的处理、统计分析和辅助决策操作,广泛地应用于管理、统计财经、金融等众多领域。

参考技术A 一。导出Excel有两种:
1.
function ExportExcel(tableid)//读取表格中每个单元到EXCEL中
try

var curTbl = document.getElementById(tableid);
var oXL = new ActiveXObject("Excel.Application"); //创建AX对象excel
var oWB = oXL.Workbooks.Add(); //获取workbook对象
var oSheet = oWB.ActiveSheet; //激活当前sheet
var Lenr = curTbl.rows.length; //取得表格行数
for (i = 0; i < Lenr; i++)
var Lenc = curTbl.rows(i).cells.length; //取得每行的列数
for (j = 0; j < Lenc; j++)
oSheet.Cells(i + 1, j + 1).value = curTbl.rows(i).cells(j).innerText; //赋值


oXL.Visible = true; //设置excel可见属性

catch(e)

alert(e.message);


2:
function dataToExcel(tableid) //整个表格拷贝到EXCEL中
var curTbl = document.getElementById(tableid);
var oXL;
try
oXL = GetObject("", "Excel.Application");

catch (E)
try
oXL = new ActiveXObject("Excel.Application");

catch (E2)
//alert("Please confirm:\n1.Microsoft Excel has been installed.\n2.Internet Options=>Security=>Setting \"Enable unsafe ActiveX\"");
alert("请确认:\n1.机器上Excel已经安装.\n2.Internet 选项=>安全=>Internet \"对没有标记为安全的ActiveX控件进行初始化和脚本运行,设定为启用\"");
return;


//创建AX对象excel
var oWB = oXL.Workbooks.Add();
//获取workbook对象
var oSheet = oWB.ActiveSheet;
//激活当前sheet
var sel = document.body.createTextRange();
sel.moveToElementText(curTbl);
//把表格中的内容移到TextRange中
sel.select();
//全选TextRange中内容
sel.execCommand("Copy");
//复制TextRange中内容
oSheet.Paste();
//粘贴到活动的EXCEL中
oXL.Visible = true;
//设置excel可见属性

如何在 JS 文件中使用导出的结构?

【中文标题】如何在 JS 文件中使用导出的结构?【英文标题】:How to use exported struct in JS file? 【发布时间】:2021-12-10 03:01:37 【问题描述】:

我在 Rust 代码中有以下定义:

#[wasm_bindgen]
pub struct Point 
    x: i32,
    y: i32,


#[wasm_bindgen]
impl Point 
    #[wasm_bindgen(constructor)]
    pub fn new(x: i32, y: i32) -> Point 
        Point  x, y 
    

我在 JS 文件中记录了创建的对象:

let p = new Point(23, 34);
console.log(p);

但是它给了我一个带有原型的指针值,我不知道如何使用它。

如何通过原型获得像 x: 23, y: 34 这样的 JS 对象?

【问题讨论】:

【参考方案1】:

默认情况下,wasm_bindgen 在将结构传递给 JS 时不包含结构的实际字段,而是生成一个包装对象,该对象仅包含指向 (WASM) 堆上数据的指针,并使用以下方法公开方法/属性原型。您应该能够使用标准 JS 语法访问(公共)字段并调用方法,如 here in the wasm-bindgen reference 所示。

如果你真的想把实际的内容传回来,你可以使用JsValue::from_serde,它允许将任何实现Serialize的类型序列化成一个JS对象。但是请注意,此对象不会公开方法 - 它旨在跨 JS/WASM 边界传递纯数据。这记录在here in the wasm-bindgen reference。

【讨论】:

以上是关于js如何导出exel文件?的主要内容,如果未能解决你的问题,请参考以下文章

vb.net 导出csv后数字格式问题

sqlserver导出为EXcel--CSV格式

PHP导出excel信息表格

如何将 sass 列表作为数组导出到 js 文件

如何在 JS 文件中使用导出的结构?

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