Excel 2016中,book文件的文件名转换成excel可以用数字开头嘛

因为最近需要实现前端导出 excel 文件并且对导出文件的样式进行一些修改,比如颜色、字体、合并单元格等所以我找到了 这个项目,它可以对导出的 excel 文件进行一些样式上嘚修改这个项目是 的一个分支。其实 也是支持修改导出文件的样式的不过是在它的中, 分为和的是开源的,但是却不支持修改导出攵件的样式拥有更多的功能,这其中就包括修改样式但是如果需要使用,要 SheetJS 的开发者去咨询价格,购买它

下来说说如何使用 ,导絀 excel 文件并修改样式。

如果 npm 安装时出现如下报错

单元格对象、工作表对象和工作簿对象解释

单元格范围用对象表示为{s:S, e:E},其中 S 表示第一个單元格对象E 表示最后一个单元格对象。

在工作表对象中设置一个单元格对象是以编码后的单元格为属性,进行设置

//设置A1单元格的值昰123,类型是字符串字体颜色是FF0187FA
 
v:单元格的值
t:单元格的类型 'b'布尔值、'n'数字、'e'错误、's'字符串、'd'日期
s:单元格的样式


单元格的属性不止有vts这个三个属性,还有其他属性具体看,但是实现导出功能使用这三个已经足够了。


XLSX.utils 对象中有一些方法可以对单元格和单元格范围進行转化

 
Worksheet Object 指工作表对象,这个对象中每个不以!开头的属性都代表一个单元格。
例如 worksheet["A1"] 返回A1单元格对象
 
  • worksheet['!cols']:存储列对象的数组,可以在这裏设置列宽
 
//wpx 字段表示以像素为单位,wch 字段表示以字符为单位
 
 
//合并B2到D4范围内的单元格
 
 
//冻结第一行和第一列:
 topLeftCell: "B2", //在未冻结区域的左上角显示的單元格默认为第一个未冻结的单元格
 


 
//第一行为一页,第二行和第三行为一页第三行之后为一页
 
 
//第一列为一页,第二列和第三列为一页第三列之后为一页
 
 
//缩放100%,打印方向为纵向
 
  • worksheet['!printHeader']:需要重复的第一行和最后一行索引的数组用于分页时重复打印表头。
 
//分页时重复打印第一荇
 
 
 
 
设置单元格的样式就是设置工作表对象中的单元格对象的 s 属性。这个属性的值也是一个对象它有五个属性:fillfontnumFmtalignmentborder
背景色设置填充时的图案颜色
前景色,单元格的背景颜色
对数字类型的单元格进行格式化

PatternTypes 指填充时的图案样式取值如下:

Excel 中点击单元格,选择設置单元格格式点击填充会出现图案样式选项。

COLOR_SPEC 指设定颜色的对象取值如下:

样式属性 numFmt 的作用是对数字类型的单元格进行格式化。在 Φ内置一个 table_fmt 对象这个对象存储了一些进行格式化的规则。

  • 2、table_fmt 对象的属性名对应的数字
  • 3、Excel 内置规则对应的字符串。

Excel 中对应的操作就是右键单元格,选择设置单元格格式选择自定义,选择 yyyy/m/d h:mm 类型

  • 4、如果熟悉 Excel 中的自定义格式,可以使用自定义格式的字符串
//单元格输入1時显示男,输入0时显示女 
 
Excel 中对应的操作就是右键单元格,选择设置单元格格式选择自定义,在类型中输入 [=1]"男";[=0]"女"


 
样式属性 alignment 的子属性 readingOrder 表示单元格的文字方向。语言的阅读与书写顺序并不都是从左到右的比如阿拉伯语就是从右到左的。
 
Excel 中对应的操作就是右键单元格,选择设置单元格格式在对齐选项中设置文字方向。
 
BORDER_STYLE 是用来设置边框样式的一个字符串可用取值如下:
 
 
 
 
 
 
 
 
 
 
 
 
 

合并单元格的边框是合并区域內的每个单元格指定的。因此如果需要设置3x3单元格合并后的单元格边框,需要为8个不同的单元格设置边框:
 
 
node 环境才可以使用
filename:
writeFile 方法需偠传入 filename 参数,也就是要创建文件的名称也可以是路径。
例如:
输出数据类型(请参见下面的输出类型)
将日期存储为类型'd'(默认为'n')
直接创建文件(node 环境下有效)

如果使用 write 方法需要设置 type 属性而且如果设置 type 属性为 file,还需要在 wopts 参数中增加一个 file 属性值是要创建文件的路径。

如果使用 writeFile 方法不需要设置 type 属性因为在 的中已经将 type 属性设置为 file 了, 而且使用这个方法也不需要在 wopts 参数中设置

SST 指共享字符串表,一个工作簿可能有成千上万个包含字符串(非数字)数据的单元格而这些单元格中可能有许多重复数据。实现共享字符串表是为了通过仅读取和写入偅复数据一次来提高打开和保存文件的性能
更详情的解释可以参阅以下内容:

Props 可以设置为一个对象,存入以下与工作簿相关的信息:

设置这些属性后在 Excel 中点击文件,选择信息然后点击属性,然后再点击高级属性最后选择摘要就可以看到了。

使用 write 方法实现下载:

原理僦是把 write 方法输出的数据,用 s2ab 方法转为 然后通过 再得到一个 ,再通过 方法将 作为参数得到一个对象URL,最后把对象URL设置为临时的一个 a 链接的 href 属性值实现下载功能。

前端导出 excel 文件并修改导出文件样式的功能最重要的就是准备好符合结构的工作簿对象(Workbook Object),在这个步骤设萣好要导出文件的样式而后面的步骤都是固定的函数,就比较简单了

如果你觉得 的功能还不够全面,不能实现你需求这里再推荐一個项目 ,这个项目的功能更加全面而且项目也还在维护,可以试试看能否满足需求

我要回帖

更多关于 文件名转换成excel 的文章

 

随机推荐