网页浏览器读取excel文件
首先读取excel文件的base64文本,在网页浏览器中借助sheetjs,将base64转为内容文本。支持xls文件和xlsx文件。
准备工作
- 下载xlsx.full.min.js, 相关文档在这里
构造转换函数,保存为sheetReader.html。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>sheetjs</title> <script src="xlsx.full.min.js"></script> </head> <body> <div id = "data"></div> <script> function read(base64str,sheetIndex) { let basestr = base64str.substring(base64str.indexOf(',')+1); const wb = XLSX.read(basestr,{type:'base64'}); let csv = XLSX.utils.sheet_to_csv(wb.Sheets[wb.SheetNames[sheetIndex-1]]); window.AppInventor.setWebViewString(csv); } </script> </body> </html>
- 将以上两个文件和你的xls文件上传到素材。要读取的文件不是必须是素材,可以放在ASD中或者其他有读取权限的地方都可以。本示例是读取ASD.
- 我们还需要一个Base64扩展,可以把xls文件转为base64.
- 相关代码
- 首先让网页浏览器访问转换的网页
- FileToStringDirect方法可以把文件转为base64文本
- 将base64文本用read函数读取出来。read函数需要两个参数,一个是base64文本,二是工作表在工作簿中的序号。示例中是第一个工作表。
- 在网页交换字符串改变事件接收读取的xls内容,应该是个csv表
- 运行结果如图: