美文网首页
js-xlsx学习笔记

js-xlsx学习笔记

作者: AmilyHao | 来源:发表于2020-04-14 12:40 被阅读0次

    1、xlsx的概念
    xlsx是Microsoft Office EXCEL 2007/2010/2013/2016/2019文档的扩展名。其基于Office Open XML标准的压缩文件格式取代了其以前专有的默认文件格式,在串通的文件名后面添加了字母“x”(即".docx"取代".doc"、".xlsx"取代".xls"、".pptx"取代".ppt")。任何能够打开".xlsx"文件的文字处理软件都可以将该文档转换为".xls"文件,".xlsx"文件比".xls"文件所占用空间更小。
    2、js-xlsx
    js-xlsx将注意力集中到了数据转换和导出上,所以它支持相当多种类的数据解析和导出,不仅仅局限于支持xlsx格式。
    支持导入的格式:

    type expected input
    "base64" string:Base64 encoding of the file
    "binary" string:binary string(byte n is data.charCodeAt(n))
    "string" string:JS string(characters interpreted as UTF8)
    "buffer" nodejs Buffer
    "array" array:array of 8-bit unsigned int(byte n is data[n])
    "file" string:path of file that will be read(nodejs only)

    支持的导出格式

    bookType file ext container sheets Description
    xlsx .xlsx ZIP multi Excel 2007+XML Format
    xlsm .xlsm ZIP multi Excel 2007+Macro XML Format
    xlsb .xlsb ZIP multi Excel 2007+Binary Format
    biff8 .xls CFB multi Excel 97-2004 Workbook Format
    biff5 .xls CFB multi Excel 5.0/95 Workbook Format
    biff2 .xls none single Excel 2.0 Worksheet Format
    xlml .xls none multi Excel 2003-2004(SpreadsheetML)
    ods .ods ZIP multi OpenDocument Spreadsheet
    fods .fods none multi Flat OpenDocument Spreadsheet
    csv .csv none single Comma Separated Values
    txt .txt none single UTF-16 Unicode Text(TXT)
    sylk .sylk none single Symbolic Link(SYLK)
    html .html none single HTML Document
    dif .dif none single Data Interchange Format(DIF)
    dbf .dbf none single dBASE II + VFP Extensions(DBF)
    rtf .rtf none single Rich Text Format(RTF)
    prn .prn none single Lotus Formatted Text
    eth .eth none single Ethercalc Record Format(ETH)

    3、概念
    js-xlsx提供了一个中间层用于操作数据,他将不同类型的文件抽象成同一个js对象,从而规避了操作不同种类数据之间的复杂性。并且围绕着这个对象提供了一系列的抽象功能。

    4、对应关系

    Excel名词 js-xlsx中的抽象类型
    工作薄 workBook
    工作表 Sheets
    Excel引用样式(单元格地址) cellAddress
    单元格 Cell

    我们在使用Excel的过程中,获取一个数据的流程如下:
    (1)打开工作薄(2)打开一个工作表(3)选中一片区域或者一个单元格
    (4)针对数据进行操作(5)保存(另存为)

    那么在js-xlsx中获取一个单元格内容的操作如下:

    // 先不要关心我们的workbook对象是从哪里来的
    var first_sheet_name = workbook.SheetNames[0]; // 获取工作薄中的工作表名字
    var address_of_cell='A1'; // 提供一个引用样式(单元格下标)
    var worksheet  = workbook.Sheets[first_sheet_name]; // 获取对应的工作表对象
    var desired_cell = worksheet[address_of_cell]; // 获取对用的单元格对象
    var desired_value = (desired_cell ? desired_cell.v: undefined); // 获取对应单元格中的数据
    

    相关文章

      网友评论

          本文标题:js-xlsx学习笔记

          本文链接:https://www.haomeiwen.com/subject/axbzmhtx.html