JS操作Excel读取和写入(模板操作)

合集下载

sheetjs处理excel实例 -回复

sheetjs处理excel实例 -回复

sheetjs处理excel实例-回复SheetJS是一个用于处理Excel文件的JavaScript库。

它提供了一整套处理Excel文件的功能,包括读取、写入、修改和转换等。

首先,让我们来了解一下SheetJS的基本用法。

要使用SheetJS,我们需要先引入库文件。

可以通过将以下代码添加到HTML文件的`<head>`标签中来实现:html<script src="引入库文件后,我们可以使用`XLSX`对象来访问SheetJS的各种功能。

下面是一个简单的示例,展示如何读取Excel文件并获取其中的数据:javascript读取Excel文件var fileInput = document.getElementById('excelFile');fileInput.addEventListener('change', function(e) {var file = e.target.files[0];var reader = new FileReader();reader.onload = function(e) {var data = new Uint8Array(e.target.result);解析Excel文件var workbook = XLSX.read(data, {type: 'array'});var worksheet = workbook.Sheets[workbook.SheetNames[0]];获取数据var jsonData = XLSX.utils.sheet_to_json(worksheet, {header: 1});处理数据for (var i = 1; i < jsonData.length; i++) {var row = jsonData[i];console.log('第' + i + '行:' + row);}};reader.readAsArrayBuffer(file);});以上代码的功能是在用户选择一个Excel文件后,读取并解析该文件,并将每一行的内容打印到控制台上。

node xlsx 用法 -回复

node xlsx 用法 -回复

node xlsx 用法-回复Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,可以将JavaScript代码在后端服务器上运行,为开发者提供了许多强大的功能和模块。

其中,xlsx是Node.js中用于处理Excel文件的模块。

在本文中,我们将一步一步介绍如何使用xlsx模块进行Excel文件的读写操作。

首先,我们需要在项目中安装xlsx模块。

在命令行中进入项目文件夹,并执行以下命令:npm install xlsx安装完成后,我们就可以开始使用xlsx模块了。

1. 读取Excel文件要读取Excel文件,我们首先需要引入xlsx模块,并使用`readFile`方法读取文件。

以下是一个简单的读取Excel文件的例子:javascriptconst xlsx = require('xlsx');const workbook = xlsx.readFile('path/to/file.xlsx');const sheetName = workbook.SheetNames[0];const worksheet = workbook.Sheets[sheetName];const jsonData = xlsx.utils.sheet_to_json(worksheet, { header: 1 });console.log(jsonData);上述代码中,我们使用`readFile`方法读取Excel文件,并将其存储在`workbook`变量中。

然后,我们获取第一个工作表的名称,并将其存储在`sheetName`变量中。

接下来,我们使用`SheetNames`和`Sheets`属性从`workbook`中获取相应的工作表对象(在本例中只有一个工作表)。

最后,我们使用`sheet_to_json`方法将工作表转换为JSON格式,并将其存储在`jsonData`变量中。

js读取excel文件

js读取excel文件

js读取excel⽂件兼容性:主要js位置:dist⽂件夹下普通html中直接引⼊ xlsx.core.min.jswebpage中在js中引⼊,位置⾃⼰调整:import XLSX from '../xlsx.core.min';如果页⾯报错:can not resolve 'fs'xxxxx,在配置⽂件中加⼊node: {fs: 'empty'},使⽤(其中⼀种⽅式,灵活调⽤下): html代码<input type="file" id="file"><input type="button" value="demo" id="demo">function demo() {let resultFile = document.getElementById('file').files[0];if (resultFile) {let reader = new FileReader();reader.readAsBinaryString(resultFile);reader.onload = function (e) {let data = e.target.result;let workbook = XLSX.read(data, {type: 'binary'});var sheetNames = workbook.SheetNames; // ⼯作表名称集合sheetNames.forEach(name => {var worksheet = workbook.Sheets[name]; // 只能通过⼯作表名称来获取指定⼯作表for (var key in worksheet) { // .v是读取单元格的原始值,.t是单元格内容类型,.f是单元公式 !开头是有合并,c是列r是⾏(从0开始算) console.log(key, key[0] === '!' ? worksheet[key] : worksheet[key].v);}});//直接获取sheet列表//let sheets = workbook.Sheets;//通过名字获取//let sheet=sheets[name];};}}。

JS操作EXCEL大全

JS操作EXCEL大全

JS操作EXCEL大全JavaScript 是一种非常流行的编程语言,广泛用于 Web 开发。

虽然JavaScript 不是用来处理 Excel 文件的首选语言,但我们仍然可以使用一些第三方库和 JavaScript 内置的功能来操作 Excel 文件。

在接下来的文章中,我们将介绍一些常见的技术和库,以便在 JavaScript 中操作Excel 文件。

1. 使用 JavaScript 原生 API 操作 Excel 文件:JavaScript 提供了一些用于处理文件的 API,可以使用这些 API 执行一些基本的 Excel 文件操作。

例如,可以使用 FileReader API 读取Excel 文件,然后使用 JavaScript 操作数据。

这种方式主要适用于读取较小的 Excel 文件。

2.使用第三方库:2.1. ExcelJS:ExcelJS 是一个流行的 JavaScript 库,用于在浏览器和 Node.js 中操作 Excel 文件。

它提供了许多用于读取、写入和修改Excel 文件的方法。

您可以使用 ExcelJS 创建、读取和修改 Excel 文件,并进行复杂的数据操作,例如合并单元格、设置单元格样式等。

2.2. xlsx-populate:xlsx-populate 是另一个用于操作 Excel 文件的库,它提供了丰富的 API,使开发人员能够在浏览器和 Node.js 中读取和写入 Excel 文件。

它支持各种 Excel 功能,如图表、公式、数据验证等。

2.3. Excel4Node:Excel4Node 是一个用于操作 Excel 文件的轻量级库。

它使用 Apache POI 库来处理 Excel 文件,并提供了一组简单而强大的 API。

你可以使用 Excel4Node 通过浏览器或 Node.js 读取、写入和修改 Excel 文件。

3. 数据导出为 Excel 格式:你可以使用 JavaScript 将数据导出为 Excel 格式。

通过Javascript读取本地Excel文件内容的代码示例

通过Javascript读取本地Excel文件内容的代码示例

通过Javascript读取本地Excel⽂件内容的代码⽰例读取本地Excel⽂件内容的Javascript代码:复制代码代码如下:<script type="text/javascript">function read_excel(){var filePath="D:\.xls"; //要读取的xlsvar 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();}elsetemp_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();}</script>必须条件:1、客户端必须安装Microsoft Excel activex控件(安装完整版Microsoft office即可),并在浏览器弹出“此⽹站需要运⾏以下加载项......”的提⽰时允许运⾏,否则js代码在创建Excel.Application对象时会出错。

js前端读写文件的方法(json、excel)

js前端读写文件的方法(json、excel)

js前端读写⽂件的⽅法(json、excel)1、前端读取⽂件的实现关键:利⽤⽂件上传对话框预览本地⽂件、利⽤FileReader读取⽂件前端预览本地⽂件上传控件change事件利⽤FileReader读取⽂件$('#select_range').change(function(evt){var files = evt.target.files,reader = new FileReader();reader.onload = function(){var range='XXXXXXXXXX';};reader.readAsText(files[0]);});注意:FileReader需要HTML5的⽀持,另外可以通过设置或采⽤将上传空间调整为button样式2、前端保存⽂件HTML+JavaScript<a href="javascript:void(0)" id="aa">保存</a>function fake_click(obj) {var ev = document.createEvent("MouseEvents");ev.initMouseEvent("click", true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);obj.dispatchEvent(ev);}//name-⽂件名;data-要保存的字符串。

function export_raw(name, data) {var urlObject = window.URL || window.webkitURL || window;var export_blob = new Blob([data]);var save_link = document.createElementNS("/1999/xhtml", "a");save_link.href = urlObject.createObjectURL(export_blob);save_link.download = name;fake_click(save_link);}//点击按钮$('#aa').click(function() {var data=“要保存的⽂本”;export_raw('range.json', data);};。

exceljs.js的应用实例

exceljs.js的应用实例

在本文中,我将为您介绍ExcelJS.js的应用实例。

ExcelJS.js是一个强大的JavaScript库,用于创建、读取和编辑Excel文件。

它提供了丰富的功能和灵活的API,可以满足各种复杂的Excel操作需求。

通过本文,您将了解ExcelJS.js的基本用法和一些实际的应用案例,希望对您有所帮助。

1. ExcelJS.js简介ExcelJS.js是一个基于JavaScript的Excel处理库,它可以在浏览器和Node.js环境下使用。

通过ExcelJS.js,您可以轻松地创建、读取和修改Excel文件,包括表格、图表、公式、样式等内容。

它支持多种Excel格式,包括xlsx、xls、csv等,同时提供了丰富的API和文档,方便开发者进行定制化的操作。

2. ExcelJS.js的基本用法要使用ExcelJS.js,首先需要安装它的npm包,并在项目中引入相关组件。

您可以使用ExcelJS的API来创建Workbook、Worksheet、Row和Cell等对象,通过这些对象可以进行Excel文件的各种操作。

您可以添加数据到单元格、设置单元格的样式、创建图表等。

ExcelJS.js还支持读取已有的Excel文件,并对其进行修改和保存。

3. 实际应用案例下面,我将介绍一些实际的应用案例,以展示ExcelJS.js的强大功能和灵活性。

案例一:数据导出假设您正在开发一个带有报表导出功能的Web应用,用户可以在页面上选择特定的数据,并导出为Excel文件。

通过ExcelJS.js,您可以将用户选择的数据按照特定的格式导出为Excel文件,并提供下载信息。

这样,用户可以方便地将数据保存为Excel,方便后续分析和处理。

案例二:数据处理假设您需要对大量的数据进行分析和处理,在Excel中手工操作可能会非常耗时。

通过ExcelJS.js,您可以编写脚本来自动化这些操作,比如对数据进行排序、筛选、计算等。

wps js宏读、写单元格区域详解

wps js宏读、写单元格区域详解

wps js宏读、写单元格区域详解在WPS表格(Kingsoft Spreadsheets)的JS宏中,要读取和写入单元格区域,你可以使用`getRange`和`setValue`等方法。

以下是详细的说明:读取单元格区域:要读取单元格区域的值,可以使用以下步骤:1. 使用`getRange`获取单元格区域对象:```javascriptvar sheet = wps.getActiveSheet();var range = sheet.getRange("A1:B5");```这里,"A1:B5"是你想要读取的单元格区域的范围。

2. 使用`getValues`获取单元格区域的值:```javascriptvar values = range.getValues();````values`将包含指定区域内每个单元格的值。

你可以通过`values[rowIndex][columnIndex]`的方式访问特定单元格的值。

写入单元格区域:要写入单元格区域的值,可以使用以下步骤:1. 使用`getRange`获取单元格区域对象:```javascriptvar sheet = wps.getActiveSheet();var range = sheet.getRange("A1:B5");```这里,"A1:B5"是你想要写入的单元格区域的范围。

2. 使用`setValues`设置单元格区域的值:```javascriptvar newValues = [[1, 2],[3, 4],[5, 6],[7, 8],[9, 10]];range.setValues(newValues);```这将把`newValues`中的值写入指定的单元格区域。

示例:```javascript// 读取单元格区域var sheet = wps.getActiveSheet();var range = sheet.getRange("A1:B5");var values = range.getValues();for (var i = 0; i < values.length; i++) {for (var j = 0; j < values[i].length; j++) {console.log("Cell at (" + (i + 1) + "," + (j + 1) + "): " + values[i][j]);}}// 写入单元格区域var newValues = [[11, 12],[13, 14],[15, 16],[17, 18],[19, 20]];range.setValues(newValues);```这是一个简单的例子,演示了如何读取和写入单元格区域的值。

exceljs用法

exceljs用法

exceljs用法
ExcelJS是一个用于创建和编辑电子表格的JavaScript库。

它提供了各种功能,包括读取、写入和修改电子表格文件,添加样式和格式,支持各种文件格式,如.xlsx、.csv、.ods等。

使用ExcelJS,我们可以轻松地创建、编辑和操作电子表格,从而实现各种业务用例,如数据分析、报告生成、表格导出等。

主要的使用步骤包括:
1. 引入ExcelJS库:通过npm安装或从官网下载ExcelJS库,并在项目中引入。

2. 创建一个工作簿对象:使用ExcelJS库提供的Workbook类,创建一个新的工作簿对象。

3. 添加工作表:使用工作簿对象提供的addWorksheet方法,添加一个或多个工作表。

4. 写入数据:使用工作表对象提供的各种方法,写入数据到表格中,可以是单元格、行或列。

5. 格式化和样式:使用工作表对象提供的各种方法,设置单元格、行或列的样式和格式。

6. 保存文件:使用工作簿对象提供的writeFile方法,将工作簿保存为指定格式的电子表格文件。

除此之外,ExcelJS还提供了各种高级功能,如公式计算、图表创建、数据筛选等,可以根据具体的需求进行使用。

总之,ExcelJS是一个功能强大、易于使用的JavaScript库,
可以大大简化电子表格的创建和操作过程,提高业务处理的效率和质量。

可以读取EXCEL文件的js代码

可以读取EXCEL文件的js代码

可以读取EXCEL⽂件的js代码⾸页给个有中⽂说明的例⼦,下⾯的例⼦很多⼤家可以多测试。

复制代码代码如下:<script language="javascript" type="text/javascript"><!--function readExcel() {var excelApp;var excelWorkBook;var excelSheet;try{excelApp = new ActiveXObject("Excel.Application");excelWorkBook = excelApp.Workbooks.open("C:\\XXX.xls");excelSheet = oWB.ActiveSheet; //WorkSheets("sheet1")excelSheet.Cells(6,2).value;//cell的值edrange.rows.count;//使⽤的⾏数excelWorkBook.Worksheets.count;//得到sheet的个数excelSheet=null;excelWorkBook.close();excelApp.Application.Quit();excelApp=null;}catch(e){if(excelSheet !=null || excelSheet!=undefined){excelSheet =nul;}if(excelWorkBook != null || excelWorkBook!=undefined){excelWorkBook.close();}if(excelApp != null || excelApp!=undefined){excelApp.Application.Quit();excelApp=null;}}// --></script>复制代码代码如下:如果是在⽹页上打开EXCEL ⽂件,那么在关闭的时候,进程⾥还有EXCEL.EXE,所以必须关闭后,刷新本页⾯!<script>function ReadExcel(){var tempStr = "";var filePath= document.all.upfile.value;var oXL = new ActiveXObject("Excel.application");var oWB = oXL.Workbooks.open(filePath);oWB.worksheets(1).select();var oSheet = oWB.ActiveSheet;try{for(var i=2;i<46;i++){if(oSheet.Cells(i,2).value =="null" || oSheet.Cells(i,3).value =="null" )break;var a = oSheet.Cells(i,2).value.toString()=="undefined"?"":oSheet.Cells(i,2).value;tempStr+=(" "+oSheet.Cells(i,2).value+" "+oSheet.Cells(i,3).value+" "+oSheet.Cells(i,4).value+" "+oSheet.Cells(i,5).value+{document.all.txtArea.value = tempStr;}document.all.txtArea.value = tempStr;oXL.Quit();CollectGarbage();}</script><html><input type="file" id="upfile" /><input type="button" onclick="ReadExcel();" value="read"><br><textarea id="txtArea" cols=50 rows=10></textarea></html>⼆、js读取excel⽂件复制代码代码如下:<script>function readThis(){var tempStr = "";var filePath= document.all.upfile.value;var oXL = new ActiveXObject("Excel.application");var oWB = oXL.Workbooks.open(filePath);oWB.worksheets(1).select();var oSheet = oWB.ActiveSheet;try{for(var i=2;i<46;i++){if(oSheet.Cells(i,2).value =="null" || oSheet.Cells(i,3).value =="null" )break;var a = oSheet.Cells(i,2).value.toString()=="undefined"?"":oSheet.Cells(i,2).value;tempStr+=(" "+oSheet.Cells(i,2).value+" "+oSheet.Cells(i,3).value+" "+oSheet.Cells(i,4).value+" "+oSheet.Cells(i,5).value+" "+oSheet.Cells(i,6).value+"\n");}}catch(e){//alert(e);document.all.txtArea.value = tempStr;}document.all.txtArea.value = tempStr; oXL.Quit();CollectGarbage();}</script><html><input type="file" id="upfile" /><input type="button" onclick="readThis();" value="读取"><br><textarea id="txtArea" cols=50 rows=10></textarea></html>三、我在vs2005平台上要实现这么⼀个功能,点击⼀个按钮⼀次将⼤量的excel⽂件数据导⼊到sqlserver2005中我⽤的是ajax技术,在前台⽤javascript操做excel⽂件,循环读取所有的excel⽂件,每读取⼀⾏就放进⼀个数组⾥通过web服务传到后台⽤c#语⾔将⼀⾏数据插⼊到数据库。

JS操作EXCEL读取和写入(模板操作)

JS操作EXCEL读取和写入(模板操作)

JS操作Excel读取和写入(模板操作)前一段时间一直在做报表,所以肯定会用到Excel的操作,但是在网上查阅资料有关JS操作excel较少,有的话,也都是老生常谈或很零碎的一些东西。

本人是在实际项目中摸索出,JS读写Excel(模板)数据,包括怎么用JS把图片插入Excel中。

首先,添加一个公用的模板地址JS,如下:AddZDaddress.js/////////////////////////////////////////////////////////////////////////////////////////// ////////////DocName:信任站点地址添加--AddZDaddress.js////Author:lify////Company:Wavenet////Date:2009-11-04////EditDate:2010-03-11////MainContent:Findings,Ajax And So On;/////////////////////////////////////////////////////////////////////////////////////////// ///////var BelieveAddress='172.18.1.25/psc1';////配置地址配置程序时需要的配置地址////**********************************Excel导入到WEB界面模板地址集合*******************************************////////////////////////////飞行检测excel模板地址配置/////////////////////////////////////////////////////////////var template_path_FxjcExcelDatasIntoSqlDatas="http://%22+believeaddress+%22/NewReports/xls_template/飞行检测城镇污水厂进出水主要污染物浓度.xls";/////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////************************************************************** *********************************************//////*********************************Excel录入模板导入地址集合**********************************************////////////////////////////月报导入excel地址配置//////////////////////////////////var template_path_month="http://%22+believeaddress+%22/NewReports/xls_template/上海市污水处理企业生产运行表.xls";///////////////////////////////////////////////////////////////////////////////////////////////////////////年报导入excel地址配置//////////////////////////////////var template_path_year="http://%22+believeaddress+%22/NewReports/xls_template/上海市污水处理设施信息表.xls";////************************************************************** *******************************************////图片地址var pic_path="http://%22+believeaddress+%22/NewReports/";/////////////////////////////////////////////////////////////////////////////////再次,怎么样把页面数据读取到Excel中JS,如下:YearReportLuRu.jsYearReportLuRu.js/////////////////////////////////////////////////////////////////////////////////////////// ////////////DocName:污水处理设施信息表(年报)-录入报表--YearReportLuRu.js////Author:lify////Company:Wavenet////Date:2009-08-14////EditDate:2009-08-14////MainContent:Findings,Ajax And So On;/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////添加正则表达式类/////////////////////////////////////////////////////////////document.write("<script language=\"javascript\"type=\"text/javascript\"src=\"js/RegularExpression.js\"><\/script>");/////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////function AutomateExcel3(){//alert(pic_path+document.getElementById("ImgUrl").value);//测试var xls=new ActiveXObject("Excel.Application");xls.Visible=true;var newBook=xls.Workbooks.Open(template_path_year);//这里的Add方法里的参数是模板的路径var oSheet=newBook.ActiveSheet;////////////////////////////////////////////写入数据到模板中///////////////////////////////////////////////////////////////////////////法人单位名称/////////////////////////////////////////////////////////////////////////////////////////// //oSheet.Cells(2,3).value=Trim(PT.rows[0].cells[1].innerText);///////////////法人单位代码以及代表姓名/////////////////////////////////////////////////////////////////////////////////////////// //////oSheet.Cells(2,13).value=Trim(PT.rows[0].cells[5].innerText);//////////////进出口三张表///////////////////////////////////////////////////////////////////////////////////////// oSheet.Cells(3,2).value=Trim(PT.rows[1].cells[1].innerText);oSheet.Cells(3,6).value=Trim(PT.rows[1].cells[3].innerText);oSheet.Cells(3,8).value=Trim(PT.rows[1].cells[5].innerText);oSheet.Cells(3,10).value=Trim(PT.rows[1].cells[7].innerText);oSheet.Cells(3,13).value=Trim(PT.rows[1].cells[9].innerText);oSheet.Cells(4,2).value=Trim(PT.rows[2].cells[1].innerText);oSheet.Cells(4,4).value=Trim(PT.rows[2].cells[3].innerText);oSheet.Cells(4,6).value=Trim(PT.rows[2].cells[5].innerText);oSheet.Cells(4,8).value=Trim(PT.rows[2].cells[7].innerText);oSheet.Cells(4,10).value=Trim(PT.rows[2].cells[9].innerText);oSheet.Cells(4,12).value=Trim(PT.rows[2].cells[11].innerText);oSheet.Cells(4,14).value=Trim(PT.rows[2].cells[13].innerText);oSheet.Cells(5,2).value=Trim(PT.rows[3].cells[1].innerText);oSheet.Cells(5,5).value=Trim(PT.rows[3].cells[3].innerText);oSheet.Cells(5,8).value=Trim(PT.rows[3].cells[5].innerText);oSheet.Cells(5,10).value=Trim(PT.rows[3].cells[7].innerText);oSheet.Cells(5,12).value=Trim(PT.rows[3].cells[9].innerText);oSheet.Cells(5,14).value=Trim(PT.rows[3].cells[11].innerText);//////////////年运行简况///////////////////////oSheet.Cells(6,4).value=Trim(PT.rows[4].cells[3].innerText);oSheet.Cells(6,6).value=Trim(PT.rows[4].cells[5].innerText);oSheet.Cells(6,8).value=Trim(PT.rows[4].cells[7].innerText);oSheet.Cells(6,10).value=Trim(PT.rows[4].cells[9].innerText);oSheet.Cells(6,12).value=Trim(PT.rows[4].cells[11].innerText);oSheet.Cells(6,14).value=Trim(PT.rows[4].cells[13].innerText);oSheet.Cells(7,4).value=Trim(PT.rows[5].cells[2].innerText);oSheet.Cells(7,6).value=Trim(PT.rows[5].cells[4].innerText);oSheet.Cells(7,8).value=Trim(PT.rows[5].cells[6].innerText);oSheet.Cells(7,10).value=Trim(PT.rows[5].cells[8].innerText);oSheet.Cells(7,12).value=Trim(PT.rows[5].cells[10].innerText);oSheet.Cells(7,14).value=Trim(PT.rows[5].cells[12].innerText);//////////////年处理水量///////////////////////oSheet.Cells(8,2).value=Trim(PT.rows[6].cells[1].innerText);oSheet.Cells(8,5).value=Trim(PT.rows[6].cells[3].innerText);oSheet.Cells(8,8).value=Trim(PT.rows[6].cells[5].innerText);oSheet.Cells(8,11).value=Trim(PT.rows[6].cells[7].innerText);//////////////污水厂工艺概况///////////////////////oSheet.Cells(10,3).value=Trim(PT.rows[8].cells[1].innerText);oSheet.Cells(10,4).value=Trim(PT.rows[8].cells[2].innerText);oSheet.Cells(10,5).value=Trim(PT.rows[8].cells[3].innerText);oSheet.Cells(10,7).value=Trim(PT.rows[8].cells[4].innerText);oSheet.Cells(11,3).value=Trim(PT.rows[9].cells[1].innerText);oSheet.Cells(11,4).value=Trim(PT.rows[9].cells[2].innerText);oSheet.Cells(11,5).value=Trim(PT.rows[9].cells[3].innerText);oSheet.Cells(11,7).value=Trim(PT.rows[9].cells[4].innerText);oSheet.Cells(12,3).value=Trim(PT.rows[10].cells[1].innerText);oSheet.Cells(12,4).value=Trim(PT.rows[10].cells[2].innerText);oSheet.Cells(12,5).value=Trim(PT.rows[10].cells[3].innerText);oSheet.Cells(12,7).value=Trim(PT.rows[10].cells[4].innerText);//--------------------------运行费用分析-------------------------------------//oSheet.Cells(13,3).value=Trim(PT.rows[11].cells[2].innerText);oSheet.Cells(13,5).value=Trim(PT.rows[11].cells[4].innerText);oSheet.Cells(13,7).value=Trim(PT.rows[11].cells[6].innerText);oSheet.Cells(13,9).value=Trim(PT.rows[11].cells[8].innerText);////////////////////////////////厂外输送泵站示意图//////////////////////////////copy(document.getElementById("ImgUrl"));//oSheet.Pictures.Insert(pic_path+document.getElementById("ImgUrl").value); ///////.Cells(13,11)var msoShaoeRectangle=1;//AddShape(透明度,左,上,宽度,高度)oSheet.Shapes.AddShape(msoShaoeRectangle,560,330,200,150)erPicture(pic_path+document.getElementById("ImgUrl").value);//oSheet.Cell(13,11).select();//选中excel的单元格//oSheet.Pictures.Insert(PT.rows[11].cells[8].getElementById("ImgUrl").src);//////////////////////////////////////////////////////////////////////////////oSheet.Cells(14,3).value=Trim(PT.rows[12].cells[1].innerText);oSheet.Cells(14,5).value=Trim(PT.rows[12].cells[3].innerText);oSheet.Cells(14,7).value=Trim(PT.rows[12].cells[5].innerText);oSheet.Cells(14,9).value=Trim(PT.rows[12].cells[7].innerText);oSheet.Cells(15,3).value=Trim(PT.rows[13].cells[1].innerText);oSheet.Cells(15,5).value=Trim(PT.rows[13].cells[3].innerText);oSheet.Cells(15,7).value=Trim(PT.rows[13].cells[5].innerText);oSheet.Cells(15,9).value=Trim(PT.rows[13].cells[7].innerText);oSheet.Cells(16,5).value=Trim(PT.rows[14].cells[1].innerText);oSheet.Cells(16,9).value=Trim(PT.rows[14].cells[5].innerText);oSheet.Cells(17,3).value=Trim(PT.rows[15].cells[1].innerText);oSheet.Cells(17,5).value=Trim(PT.rows[15].cells[3].innerText);oSheet.Cells(17,7).value=Trim(PT.rows[15].cells[5].innerText);//---------------------------------------------------------------------------////////////////污水厂表下方信息///////////////////////oSheet.Cells(18,2).value=Trim(RT.rows[0].cells[1].innerText);oSheet.Cells(18,7).value=Trim(RT.rows[0].cells[3].innerText);oSheet.Cells(18,11).value=Trim(RT.rows[0].cells[5].innerText);oSheet.Cells(18,14).value=Trim(RT.rows[0].cells[7].innerText);/////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////xls.Visible=true;erControl=true;xls=null;idTmr=window.setInterval("Cleanup();",1);//xls.quit();}function Cleanup(){window.clearInterval(idTmr);CollectGarbage();}function copy(tabid){var oControlRange=document.body.createControlRange(); oControlRange.add(tabid,0);oControlRange.select();document.execCommand("Copy");}/////////////////////////////////////////////////////////////////////////////////////////// ////////////最后,如何读取到Excel模板中数据到页面上共客户编辑数据再保存到数据库中(此步可以用xml发送至后台交互,在此不进一步说明)JS,如下:Fxjc_ExcelDatasIntoSqlDatas.js//////////////////////////////////////////////////////// ///////////////////////////////////////////////DocName:导入模板数据功能--Fxjc_ExcelDatasIntoSqlDatas.js////Author:lify////Company:Wavenet////Date:2010-03-12////EditDate:2010-03-12////MainContent:Findings,Ajax And So On;/////////////////////////////////////////////////////////////////////////////////////////// ///////var excelFileName="";//本地EXCEL地址var oWB;var idTmr="";function AutomateExcel3(){//删除PT表的除前2行的所有行DeleteTablePT();//alert(pic_path+document.getElementById("ImgUrl").value);//测试var xls=null;var newBook;try{xls=new ActiveXObject("Excel.Application");}catch(e){openBg(0);openTS(0);alert("请您打开ActiveX控件,具体操作:单击IE中的“工具”里“Internet选项”,单击“安全”中的“自定义级别”中“ActiveX控件和插件”中,请选择第三项为启用即可。

js 读取excel解析

js 读取excel解析

纯JS 上传excel 并解析内容<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title><script src="C:\soft\sheetjs-github\sheetjs-github\dist\xlsx.full.min.js"></script> </head><body><input type="file"onchange="importf(this)" /><div id="demo"></div><script>/*FileReader共有4种读取方法:1.readAsArrayBuffer(file):将文件读取为ArrayBuffer。

2.readAsBinaryString(file):将文件读取为二进制字符串3.readAsDataURL(file):将文件读取为Data URL4.readAsText(file, [encoding]):将文件读取为文本,encoding缺省值为'UTF-8'*/var wb;//读取完成的数据var rABS = false; //是否将文件读取为二进制字符串function importf(obj) {//导入if(!obj.files) {return;}var f = obj.files[0];var reader = new FileReader();reader.onload = function(e) {var data = e.target.result;if(rABS) {wb = XLSX.read(btoa(fixdata(data)), {//手动转化type: 'base64'});} else {wb = XLSX.read(data, {type: 'binary'});}//wb.SheetNames[0]是获取Sheets中第一个Sheet的名字//wb.Sheets[Sheet名]获取第一个Sheet的数据var roa = XLSX.utils.sheet_to_row_object_array(wb.Sheets[wb.SheetNames[0]]);alert(roa.length)//document.getElementById("demo").innerHTML=JSON.stringify( XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]) );};if(rABS) {reader.readAsArrayBuffer(f);} else {reader.readAsBinaryString(f);}}function fixdata(data) { //文件流转BinaryStringvar o = "",l = 0,w = 10240;for(; l < data.byteLength / w; ++l) o += String.fromCharCode.apply(null, new Uint8Array(data.slice(l * w, l * w + w)));o += String.fromCharCode.apply(null, new Uint8Array(data.slice(l * w)));return o;}</script></body></html>。

exceljs 常用方法

exceljs 常用方法

exceljs 常用方法ExcelJS是一个用于读写Excel文件的JavaScript库。

它提供了许多常用的方法,可以方便地对Excel文件进行操作和处理。

下面将介绍一些常用的ExcelJS方法。

1. 创建工作簿使用ExcelJS,可以通过以下代码创建一个新的工作簿:```javascriptconst ExcelJS = require('exceljs');const workbook = new ExcelJS.Workbook();```这样就创建了一个空的工作簿。

2. 添加工作表可以使用以下代码向工作簿添加一个新的工作表:```javascriptconst worksheet = workbook.addWorksheet('Sheet1');```这样就向工作簿添加了一个名为"Sheet1"的工作表。

3. 添加数据可以使用以下代码向工作表添加数据:```javascriptworksheet.getCell('A1').value = 'Hello';worksheet.getCell('B1').value = 'World';```这样就向工作表的A1单元格和B1单元格分别添加了"Hello"和"World"。

4. 格式设置ExcelJS提供了丰富的格式设置功能,可以对单元格进行样式、字体、对齐方式等设置。

例如,可以使用以下代码设置单元格的背景颜色和字体颜色:```javascriptconst cell = worksheet.getCell('A1');cell.fill = {type: 'pattern',pattern: 'solid',fgColor: { argb: 'FFFF0000' }};cell.font = {color: { argb: 'FFFFFFFF' }};```这样就将A1单元格的背景颜色设置为红色,字体颜色设置为白色。

excelvba的读取列,写入列,循环和if的一些操作

excelvba的读取列,写入列,循环和if的一些操作

excelvba的读取列,写⼊列,循环和if的⼀些操作最近在研究 Excel 中的 VBA ,也就是Excel 的宏,需要将第⼀个页⾯的值,等列排⼊第⼆个Sheet页中就像第⼀个页⾯中排列成这个样⼦⾸先需要缕缕⾃⼰的思路我们需要获取到第⼀个Sheet 也的值Set Destination = Worksheets("Sheet1")获取到以后,要如何去找到每⼀列的值并赋值给另外⼀个Sheet 呢?当然是,循环 + 写⼊了Dim a As IntegerDim b As IntegerDim js As IntegerSet Destination = Worksheets("Sheet1")Set Destination2 = Worksheets("Sheet2")'⾏数a = edRange.Rows.Count'列数b = edRange.Columns.Count'循环⾏For i = 1 To a'循环列For j = 1 To b'计算⾏所在位置js = (i * 2)'不同列不同的数据处理If (j = 2) ThenDestination2.Cells(js, j + 1) = Destination.Cells(i, j)ElseIf (j = 3) ThenDestination2.Cells(js - 1, j) = Destination.Cells(i, j)ElseDestination2.Cells(js - 1, j) = Destination.Cells(i, j)Destination2.Cells(js, j) = Destination.Cells(i, j)Destination2.Cells(js - 1, j + 1) = Destination.Cells(i, j)Destination2.Cells(js, j + 1) = Destination.Cells(i, j)End IfNextNext这其中Dim 就是拿来定义变量⽤你获取到的Sheet 页数据.Cells 就是来取你某⼀个XY对应的数据,也可以直接进⾏赋值For 的语法就是 For 变量 = 初始值 To 结束值NextIf 的语法就简单了IF(条件) then 你的代码 else 没有否则条件可以不写 End If然后执⾏以下,我们看看是不是 so easy?为了以防万⼀,可以在最为层加⼊ If Not IsError他的⽤法和if ⼤同⼩异,If Not IsError(你认为可能会报错的⾏) Then 如果没有报错的话 else 报错了的话 On Error Resume Next 那如果我们想让单元格稍微美观⼀点,加个表格怎么办呢?With edRange.Resize(x, b - 1).Borders.LineStyle = xlContinuous.Weight = xlThinEnd With简简单单⼀个 with 循环搞定最后来个友情的弹出框result = MsgBox("转换完成", 0, "提⽰")当然⾥⾯以及空⾏删除啊,或者⾃⾏填充啊,这个就是你的逻辑代码需要处理的事情了理论上知识点,差不多就这些吧共同学习。

JS操作EXCEL大全

JS操作EXCEL大全

JS操作EXCEL大全一、读取Excel文件读取Excel文件是进行Excel操作的基础。

在JavaScript中,我们可以使用一些库来读取Excel文件,例如xlsx、xlsjs和exceljs等。

1. 使用xlsx库读取Excel文件xlsx是一个用于处理Excel文件的JavaScript库。

您可以通过以下步骤使用xlsx库来读取Excel文件:首先,将xlsx库导入到您的项目中。

您可以使用npm来安装xlsx库,并在代码中引入该库:```npm install xlsxconst XLSX = require('xlsx');```然后,使用XLSX.readFile方法读取Excel文件:```const workbook = XLSX.readFile('example.xlsx');```最后,可以通过workbook.Sheets对象获取Excel文件的内容:```const worksheet = workbook.Sheets['Sheet1'];console.log(XLSX.utils.sheet_to_json(worksheet));```2. 使用xlsjs库读取Excel文件xlsjs是另一个用于读取Excel文件的JavaScript库。

您可以使用以下步骤使用xlsjs库来读取Excel文件:首先,将xlsjs库导入到您的项目中。

您可以使用npm来安装xlsjs 库,并在代码中引入该库:```npm install xlsjsconst XLSX = require('xlsjs');```然后,使用XLSX.readFile方法读取Excel文件:```const workbook = XLSX.readFile('example.xls');```最后,可以通过workbook.Sheets对象获取Excel文件的内容:```const worksheet = workbook.Sheets['Sheet1'];console.log(XLSX.utils.sheet_to_json(worksheet));```二、写入Excel文件在读取Excel文件之后,我们还可以使用JavaScript来写入Excel 文件。

js引用本地excel数据 -回复

js引用本地excel数据 -回复

js引用本地excel数据-回复在JavaScript中引用本地Excel数据可能是许多开发人员经常遇到的问题之一。

本文将详细介绍如何使用JavaScript来读取本地的Excel文件并将其用于Web开发中。

在开始之前,我们需要明确一些前提条件。

首先,我们需要一个Excel文件,其中包含我们要引用的数据。

其次,我们需要一个用于处理Excel文件的JavaScript库。

有许多JavaScript库可以处理Excel文件,但我们将使用最流行和常用的库之一- SheetJS。

SheetJS是一个强大的库,可以读取和写入Excel 文件。

它不需要任何服务器端组件,完全在客户端执行。

首先,我们需要在项目中引入SheetJS库。

可以通过使用CDN(内容分发网络)或将库下载到本地来实现。

以下是用于引入SheetJS的CDN代码:<script src="现在,我们可以开始使用SheetJS库来读取本地的Excel文件。

下面是一步一步的说明:第一步:创建文件输入元素我们需要在HTML中创建一个文件输入元素,允许用户选择Excel文件。

可以使用以下代码创建文件输入元素:<input type="file" id="excelFile" />第二步:处理文件选择事件当用户选择Excel文件时,我们需要捕获该事件,并在事件处理程序中执行相应的操作。

可以使用以下代码来处理文件选择事件:document.getElementById('excelFile').addEventListener('change', handleFile, false);function handleFile(e) {获取选择的Excel文件var file = e.target.files[0];创建文件读取器var reader = new FileReader();设置读取完成后的回调函数reader.onload = function(e) {var data = new Uint8Array(e.target.result);var workbook = XLSX.read(data, {type: 'array'});处理Excel数据processExcel(workbook);};读取Excel文件reader.readAsArrayBuffer(file);}以上代码中的`handleFile()`函数将监听文件选择事件,并在文件读取完成后执行回调函数。

JS操作EXCEL常用方法

JS操作EXCEL常用方法

2/0.035;
//页边距 页脚 2 厘米
ExcelSheet.ActiveSheet.PageSetup.CenterHeader = "页眉中部内容";
ExcelSheet.ActiveSheet.PageSetup.LeftHeader = "页眉左部内容";
ExcelSheet.ActiveSheet.PageSetup.RightHeader = "页眉右部内容";
ExcelSheet.ActiveSheet.PageSetup.BottomMargin =
5/0.035;
//页边距 下 5 厘米
ExcelSheet.ActiveSheet.PageSetup.HeaderMargin =
1/0.035;
//页边距 页眉 1 厘米
ExcelSheet.ActiveSheet.PageSetup.FooterMargin =
";
//设置为黑体*
ExcelSheet.ActiveSheet.Cells(row,col).Font.Italic =
true;
//设置为斜体*
ExcelSheet.ActiveSheet.Cells(row,col).Font.Bold =
true;
//设置为粗体*
ExcelSheet.ActiveSheet.Cells(row,col).ClearContents;
ExcelSheet.ActiveSheet.PageSetup.LeftFooter = "页脚左部内容";
ExcelSheet.ActiveSheet.PageSetup.RightFooter = "页脚右部内容

实现js读取Excel数据

实现js读取Excel数据

实现js读取Excel数据<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Excel批量处理</title><script src="https:///jquery/3.2.1/jquery.js"></script><script src="https:///xlsx/0.11.5/xlsx.core.min.js"></script></head><body><input type="file" id="excel-file"><textarea id="area"></textarea><script>//给input标签绑定change事件,⼀上传选中的.xls⽂件就会触发该函数$('#excel-file').change(function(e) {var files = e.target.files;var fileReader = new FileReader();fileReader.onload = function(ev) {try {var data = ev.target.resultvar workbook = XLSX.read(data, {type: 'binary'}) // 以⼆进制流⽅式读取得到整份excel表格对象var persons = []; // 存储获取到的数据} catch (e) {console.log('⽂件类型不正确');return;}// 表格的表格范围,可⽤于判断表头是否数量是否正确var fromTo = '';// 遍历每张表读取for (var sheet in workbook.Sheets) {if (workbook.Sheets.hasOwnProperty(sheet)) {fromTo = workbook.Sheets[sheet]['!ref'];console.log(fromTo);persons = persons.concat(XLSX.utils.sheet_to_json(workbook.Sheets[sheet]));// break; // 如果只取第⼀张表,就取消注释这⾏}}//在控制台打印出来表格中的数据console.log(persons);$("#area").val(JSON.stringify(persons));};// 以⼆进制⽅式打开⽂件fileReader.readAsBinaryString(files[0]);});</script></body></html>。

纯JS实现的读取excel文件内容功能示例【支持所有浏览器】

纯JS实现的读取excel文件内容功能示例【支持所有浏览器】

纯JS实现的读取excel⽂件内容功能⽰例【⽀持所有浏览器】本⽂实例讲述了纯JS实现的读取excel⽂件内容功能。

分享给⼤家供⼤家参考,具体如下:template.html<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>JS-XLSX Live Demo</title><link href="../css/bootstrap.min.css" rel="external nofollow" rel="stylesheet"><style>#drop{border:2px dashed #bbb;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;padding:25px;text-align:center;font:20pt bold,"Vollkorn";color:#bbb}#b64data{width:100%;}a { text-decoration: none }button{}</style></head><body><pre><input type="file" name="xlfile" id="xlf"><button type="button" class="btn btn-danger"><a href="Techrecord.html" rel="external nofollow" rel="external nofollow" >返回</a></button><input type="checkbox" name="useworker" checked="" style="display: none;"><input type="checkbox" name="xferable" checked="" style="display: none;"><input type="checkbox" name="userabs" checked="" style="display: none;"></pre><button class="submit_all">提交</button><pre id="out"></pre><br><script src="../js/jquery.js"></script><script src="../js/common.js"></script>//这⾥主要封装了⼀下⽅法,可以忽略,主要使⽤到以下⼏个js<script type="text/javascript" async="" src="/ga.js"></script><script src="../js/shim.js"></script><script src="../js/xlsx.full.min.js"></script><script src='../js/myexcel.js'></script></body></html>myexcel.js/*jshint browser:true *//*global XLSX */var X = XLSX;var XW = {/* worker message */msg: 'xlsx',/* worker scripts */rABS: '../js/xlsxworker2.js',norABS: '../js/xlsxworker1.js',noxfer: '../js/xlsxworker.js'};function ab2str(data) {var o = "", l = 0, w = 10240;for(; l<data.byteLength/w; ++l) o+=String.fromCharCode.apply(null,new Uint16Array(data.slice(l*w,l*w+w)));o+=String.fromCharCode.apply(null, new Uint16Array(data.slice(l*w)));return o;}function s2ab(s) {var b = new ArrayBuffer(s.length*2), v = new Uint16Array(b);for (var i=0; i != s.length; ++i) v[i] = s.charCodeAt(i);return [v, b];}function xw_xfer(data, cb) {var worker = new Worker(rABS ? XW.rABS : XW.norABS);worker.onmessage = function(e) {switch(e.data.t) {case 'ready': break;case 'e': console.error(e.data.d); break;default: xx=ab2str(e.data).replace(/\n/g,"\\n").replace(/\r/g,"\\r");cb(JSON.parse(xx)); break; }};if(rABS) {var val = s2ab(data);worker.postMessage(val[1], [val[1]]);} else {worker.postMessage(data, [data]);}}function xw(data, cb) {transferable = document.getElementsByName("xferable")[0].checked;if(transferable) xw_xfer(data, cb);else xw_noxfer(data, cb);}function get_radio_value( radioName ) {var radios = document.getElementsByName( radioName );for( var i = 0; i < radios.length; i++ ) {if( radios[i].checked || radios.length === 1 ) {return radios[i].value;}}}function to_json(workbook) {var result = {};workbook.SheetNames.forEach(function(sheetName) {var roa = X.utils.sheet_to_row_object_array(workbook.Sheets[sheetName]);if(roa.length > 0){result[sheetName] = roa;}});return result;}var tarea = document.getElementById('b64data');function b64it() {if(typeof console !== 'undefined') console.log("onload", new Date());var wb = X.read(tarea.value, {type: 'base64',WTF:wtf_mode});process_wb(wb);}var token=Cookies.get("token");console.log(token);if(token==null){// alert("你是怎么进来的?请先登录");// window.location.href="../login.html" rel="external nofollow" ;}var global_wb;function process_wb(wb) {global_wb = wb;var output = "";//这⾥是成绩批量录⼊代码,可以忽略不计$(".submit_all").on("click",function(){var array=Object.values(to_json(wb))[0];var len=array.length;var array1="",array2="",array3="",array4="",array5="";for(var i=0;i<len;i++){array1+=array[i].学号+",";array2+=array[i].成绩+",";array3+=array[i].总分+",";array4+=array[i].时间+",";array5+=array[i].评语+",";}array1=array1.substring(0,array1.length-1);array2=array2.substring(0,array2.length-1);array3=array3.substring(0,array3.length-1);array4=array4.substring(0,array4.length-1);array5=array5.substring(0,array5.length-1);console.log(array1);var url='grade/addall';var params={"token":token,"gradeUserId":array1,"gradeCourse":array2,"gradeRank":array3,"gradeRemark":array5,"gradeTime":array4};pullData(url,params,function(res){if(res.state==0){alert("成绩录⼊成功!");window.location.href="Techrecord.html" rel="external nofollow" rel="external nofollow" ;}else if(res.state==1){alert("您输⼊的学号不存在");}});})output = JSON.stringify(to_json(wb), 2, 2);if(out.innerText === undefined) out.textContent = output;else out.innerText = output;if(typeof console !== 'undefined') console.log(output);}function setfmt() {if(global_wb) process_wb(global_wb);}var xlf = document.getElementById('xlf');function handleFile(e) {rABS = document.getElementsByName("userabs")[0].checked;use_worker = document.getElementsByName("useworker")[0].checked;var files = e.target.files;var f = files[0];{var reader = new FileReader();var name = ;reader.onload = function(e) {if(typeof console !== 'undefined')var data = e.target.result;if(use_worker) {xw(data, process_wb);} else {var wb;if(rABS) {wb = X.read(data, {type: 'binary'});} else {var arr = fixdata(data);wb = X.read(btoa(arr), {type: 'base64'});}process_wb(wb);}};if(rABS) reader.readAsBinaryString(f);else reader.readAsArrayBuffer(f);}}if(xlf.addEventListener) xlf.addEventListener('change', handleFile, false);导⼊⼀个新建的excel查看读取到的值,以json格式显⽰更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》及《》希望本⽂所述对⼤家JavaScript程序设计有所帮助。

nodejs简单读写excel内容的方法示例

nodejs简单读写excel内容的方法示例

nodejs简单读写excel内容的⽅法⽰例本⽂实例讲述了nodejs简单读写excel内容的⽅法。

分享给⼤家供⼤家参考,具体如下:⽀持读写Excel的node.js模块node-xlsx: 基于Node.js解析excel⽂件数据及⽣成excel⽂件,仅⽀持xlsx格式⽂件;excel-parser: 基于Node.js解析excel⽂件数据,⽀持xls及xlsx格式⽂件;excel-export : 基于Node.js将数据⽣成导出excel⽂件,⽣成⽂件格式为xlsx;node-xlrd: 基于node.js从excel⽂件中提取数据,仅⽀持xls格式⽂件。

我将展⽰通过node-xlsx提取上传上来的excel⽂件⾥的数据,以及⽣成新的excel⽂件。

代码如下:var xlsx = require('node-xlsx');var fs = require('fs');//读取⽂件内容var obj = xlsx.parse(__dirname+'/test.xlsx');var excelObj=obj[0].data;console.log(excelObj);var data = [];for(var i in excelObj){var arr=[];var value=excelObj[i];for(var j in value){arr.push(value[j]);}data.push(arr);}var buffer = xlsx.build([{name:'sheet1',data:data}]);//将⽂件内容插⼊新的⽂件中fs.writeFileSync('test1.xlsx',buffer,{'flag':'w'});希望本⽂所述对⼤家nodejs程序设计有所帮助。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JS操作Excel读取和写入(模板操作)前一段时间一直在做报表,所以肯定会用到Excel的操作,但是在网上查阅资料有关JS操作excel较少,有的话,也都是老生常谈或很零碎的一些东西。

本人是在实际项目中摸索出,JS读写Excel(模板)数据,包括怎么用JS把图片插入Excel中。

首先,添加一个公用的模板地址JS,如下:AddZDaddress.js/////////////////////////////////////////////////////////////////////////////////////////// ////////////DocName:信任站点地址添加--AddZDaddress.js////Author:lify////Company:Wavenet////Date:2009-11-04////EditDate:2010-03-11////MainContent:Findings,Ajax And So On;/////////////////////////////////////////////////////////////////////////////////////////// ///////var BelieveAddress='172.18.1.25/psc1';////配置地址配置程序时需要的配置地址////**********************************Excel 导入到WEB界面模板地址集合*******************************************////////////////////////////飞行检测excel模板地址配置/////////////////////////////////////////////////////////////var template_path_FxjcExcelDatasIntoSqlDatas ="http://%22+believeaddress+%22/NewReports/xls_template/飞行检测城镇污水厂进出水主要污染物浓度.xls";/////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////************************************************************** *********************************************//////*********************************Excel 录入模板导入地址集合**********************************************////////////////////////////月报导入excel地址配置//////////////////////////////////var template_path_month ="http://%22+believeaddress+%22/NewReports/xls_template/上海市污水处理企业生产运行表.xls";///////////////////////////////////////////////////////////////////////////////////////////////////////////年报导入excel地址配置//////////////////////////////////var template_path_year ="http://%22+believeaddress+%22/NewReports/xls_template/上海市污水处理设施信息表.xls";////************************************************************** *******************************************////图片地址var pic_path="http://%22+believeaddress+%22/NewReports/";/////////////////////////////////////////////////////////////////////////////////再次,怎么样把页面数据读取到Excel中JS,如下:YearReportLuRu.jsYearReportLuRu.js/////////////////////////////////////////////////////////////////////////////////////////// ////////////DocName:污水处理设施信息表(年报)-录入报表--YearReportLuRu.js////Author:lify////Company:Wavenet////Date:2009-08-14////EditDate:2009-08-14////MainContent:Findings,Ajax And So On;/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////添加正则表达式类/////////////////////////////////////////////////////////////document.write("<script language=\"javascript\" type=\"text/javascript\"src=\"js/RegularExpression.js\"><\/script>");/////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////function AutomateExcel3(){//alert(pic_path+document.getElementById("ImgUrl").value);//测试var xls = new ActiveXObject("Excel.Application");xls.Visible = true;var newBook = xls.Workbooks.Open(template_path_year);//这里的Add方法里的参数是模板的路径var oSheet=newBook.ActiveSheet;////////////////////////////////////////////写入数据到模板中///////////////////////////////////////////////////////////////////////////法人单位名称/////////////////////////////////////////////////////////////////////////////////////////// //oSheet.Cells(2,3).value = Trim(PT.rows[0].cells[1].innerText);///////////////法人单位代码以及代表姓名/////////////////////////////////////////////////////////////////////////////////////////// //////oSheet.Cells(2,13).value = Trim(PT.rows[0].cells[5].innerText);//////////////进出口三张表///////////////////////////////////////////////////////////////////////////////////////// oSheet.Cells(3,2).value=Trim(PT.rows[1].cells[1].innerText);oSheet.Cells(3,6).value=Trim(PT.rows[1].cells[3].innerText);oSheet.Cells(3,8).value=Trim(PT.rows[1].cells[5].innerText);oSheet.Cells(3,10).value=Trim(PT.rows[1].cells[7].innerText);oSheet.Cells(3,13).value=Trim(PT.rows[1].cells[9].innerText);oSheet.Cells(4,2).value=Trim(PT.rows[2].cells[1].innerText);oSheet.Cells(4,4).value=Trim(PT.rows[2].cells[3].innerText);oSheet.Cells(4,6).value=Trim(PT.rows[2].cells[5].innerText);oSheet.Cells(4,8).value=Trim(PT.rows[2].cells[7].innerText);oSheet.Cells(4,10).value=Trim(PT.rows[2].cells[9].innerText);oSheet.Cells(4,12).value=Trim(PT.rows[2].cells[11].innerText);oSheet.Cells(4,14).value=Trim(PT.rows[2].cells[13].innerText);oSheet.Cells(5,2).value=Trim(PT.rows[3].cells[1].innerText);oSheet.Cells(5,5).value=Trim(PT.rows[3].cells[3].innerText);oSheet.Cells(5,8).value=Trim(PT.rows[3].cells[5].innerText);oSheet.Cells(5,10).value=Trim(PT.rows[3].cells[7].innerText);oSheet.Cells(5,12).value=Trim(PT.rows[3].cells[9].innerText);oSheet.Cells(5,14).value=Trim(PT.rows[3].cells[11].innerText);//////////////年运行简况///////////////////////oSheet.Cells(6,4).value = Trim(PT.rows[4].cells[3].innerText);oSheet.Cells(6,6).value = Trim(PT.rows[4].cells[5].innerText);oSheet.Cells(6,8).value = Trim(PT.rows[4].cells[7].innerText);oSheet.Cells(6,10).value = Trim(PT.rows[4].cells[9].innerText);oSheet.Cells(6,12).value = Trim(PT.rows[4].cells[11].innerText);oSheet.Cells(6,14).value = Trim(PT.rows[4].cells[13].innerText);oSheet.Cells(7,4).value = Trim(PT.rows[5].cells[2].innerText);oSheet.Cells(7,6).value = Trim(PT.rows[5].cells[4].innerText);oSheet.Cells(7,8).value = Trim(PT.rows[5].cells[6].innerText);oSheet.Cells(7,10).value = Trim(PT.rows[5].cells[8].innerText);oSheet.Cells(7,12).value = Trim(PT.rows[5].cells[10].innerText);oSheet.Cells(7,14).value = Trim(PT.rows[5].cells[12].innerText);//////////////年处理水量///////////////////////oSheet.Cells(8,2).value = Trim(PT.rows[6].cells[1].innerText);oSheet.Cells(8,5).value = Trim(PT.rows[6].cells[3].innerText);oSheet.Cells(8,8).value = Trim(PT.rows[6].cells[5].innerText);oSheet.Cells(8,11).value = Trim(PT.rows[6].cells[7].innerText);//////////////污水厂工艺概况///////////////////////oSheet.Cells(10,3).value = Trim(PT.rows[8].cells[1].innerText);oSheet.Cells(10,4).value = Trim(PT.rows[8].cells[2].innerText);oSheet.Cells(10,5).value = Trim(PT.rows[8].cells[3].innerText);oSheet.Cells(10,7).value = Trim(PT.rows[8].cells[4].innerText);oSheet.Cells(11,3).value = Trim(PT.rows[9].cells[1].innerText);oSheet.Cells(11,4).value = Trim(PT.rows[9].cells[2].innerText);oSheet.Cells(11,5).value = Trim(PT.rows[9].cells[3].innerText);oSheet.Cells(11,7).value = Trim(PT.rows[9].cells[4].innerText);oSheet.Cells(12,3).value = Trim(PT.rows[10].cells[1].innerText);oSheet.Cells(12,4).value = Trim(PT.rows[10].cells[2].innerText);oSheet.Cells(12,5).value = Trim(PT.rows[10].cells[3].innerText);oSheet.Cells(12,7).value = Trim(PT.rows[10].cells[4].innerText);//--------------------------运行费用分析-------------------------------------//oSheet.Cells(13,3).value = Trim(PT.rows[11].cells[2].innerText);oSheet.Cells(13,5).value = Trim(PT.rows[11].cells[4].innerText);oSheet.Cells(13,7).value = Trim(PT.rows[11].cells[6].innerText);oSheet.Cells(13,9).value = Trim(PT.rows[11].cells[8].innerText);////////////////////////////////厂外输送泵站示意图//////////////////////////////copy(document.getElementById("ImgUrl"));//oSheet.Pictures.Insert(pic_path+document.getElementById("ImgUrl").value) ;///////.Cells(13,11)var msoShaoeRectangle = 1;//AddShape(透明度,左,上,宽度,高度)oSheet.Shapes.AddShape(msoShaoeRectangle, 560, 330, 200,150)erPicture(pic_path+document.getElementById("ImgUrl").value);//oSheet.Cell(13,11).select();//选中excel的单元格//oSheet.Pictures.Insert(PT.rows[11].cells[8].getElementById("ImgUrl").src);//////////////////////////////////////////////////////////////////////////////oSheet.Cells(14,3).value = Trim(PT.rows[12].cells[1].innerText);oSheet.Cells(14,5).value = Trim(PT.rows[12].cells[3].innerText);oSheet.Cells(14,7).value = Trim(PT.rows[12].cells[5].innerText);oSheet.Cells(14,9).value = Trim(PT.rows[12].cells[7].innerText);oSheet.Cells(15,3).value = Trim(PT.rows[13].cells[1].innerText);oSheet.Cells(15,5).value = Trim(PT.rows[13].cells[3].innerText);oSheet.Cells(15,7).value = Trim(PT.rows[13].cells[5].innerText);oSheet.Cells(15,9).value = Trim(PT.rows[13].cells[7].innerText);oSheet.Cells(16,5).value = Trim(PT.rows[14].cells[1].innerText);oSheet.Cells(16,9).value = Trim(PT.rows[14].cells[5].innerText);oSheet.Cells(17,3).value = Trim(PT.rows[15].cells[1].innerText);oSheet.Cells(17,5).value = Trim(PT.rows[15].cells[3].innerText);oSheet.Cells(17,7).value = Trim(PT.rows[15].cells[5].innerText);//---------------------------------------------------------------------------////////////////污水厂表下方信息///////////////////////oSheet.Cells(18,2).value = Trim(RT.rows[0].cells[1].innerText);oSheet.Cells(18,7).value = Trim(RT.rows[0].cells[3].innerText);oSheet.Cells(18,11).value = Trim(RT.rows[0].cells[5].innerText);oSheet.Cells(18,14).value = Trim(RT.rows[0].cells[7].innerText);/////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////xls.Visible = true;erControl = true;xls = null;idTmr = window.setInterval("Cleanup();",1);//xls.quit();}function Cleanup(){window.clearInterval(idTmr);CollectGarbage();}function copy(tabid){var oControlRange = document.body.createControlRange();oControlRange.add(tabid,0);oControlRange.select();document.execCommand("Copy");}/////////////////////////////////////////////////////////////////////////////////////////// ////////////最后,如何读取到Excel模板中数据到页面上共客户编辑数据再保存到数据库中(此步可以用xml发送至后台交互,在此不进一步说明)JS,如下:Fxjc_ExcelDatasIntoSqlDatas.js//////////////////////////////////////////////////////// ///////////////////////////////////////////////DocName:导入模板数据功能--Fxjc_ExcelDatasIntoSqlDatas.js////Author:lify////Company:Wavenet////Date:2010-03-12////EditDate:2010-03-12////MainContent:Findings,Ajax And So On;/////////////////////////////////////////////////////////////////////////////////////////// ///////var excelFileName=""; //本地EXCEL地址var oWB;var idTmr="";function AutomateExcel3(){//删除PT表的除前2行的所有行DeleteTablePT();//alert(pic_path+document.getElementById("ImgUrl").value);//测试var xls=null;var newBook;try{xls = new ActiveXObject("Excel.Application");}catch(e){openBg(0);openTS(0);alert("请您打开ActiveX控件,具体操作:单击IE中的“工具”里“Internet 选项”,单击“安全”中的“自定义级别”中“ActiveX控件和插件”中,请选择第三项为启用即可。

相关文档
最新文档