# xlsx-checker
**Repository Path**: lonzisng/xlsx-checker
## Basic Information
- **Project Name**: xlsx-checker
- **Description**: 一个前端js校验excel表格内容的工具
- **Primary Language**: JavaScript
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2023-08-13
- **Last Updated**: 2023-10-04
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# xlsx-checker 使用文档
## 简介
xlsx-checker 是一个用于在前端页面校验 xlsx 表格内容的工具,工具依赖 xlsx.js。
注意:
> 包名中不带有 min 的版本,打包时已将 xlsx.js 打入其中,方便直接引入使用
>
> 包名中带有 min 的版本在打包时,已排除 xlsx.js,故使用时需单独安装 xlsx.js
>
> xlsx-checker.js 导出一个函数方法用于校验
>
> xlsx-checker-worker.js 通过使用 web-worker 的方式进行校验,整合了简单的 worker 调用,通过 postMessage 返回校验结果。
## 安装
NPM
```shell
npm i xlsx-checker
```
### Browser
```html
```
或
```html
```
## 使用
配置项
```javascript
let options = {
offset: {
// 偏移,不校验第一行第一列
row: 1,
col: "A",
},
rules: {
Sheet1: {
// 表格名称
A: "number", // A列数字
B: "integer", // B列整数
C: "decimal", // C列小数
D: "fraction", // D列分数
E: "calc((A+B)/C - D)", // E列为ABCD列的计算值
F: "includes([12,30])", // F列为其中之一
},
Sheet2: {}, // 第二张表
},
outputFile: true,
};
```
校验
```javascript
xlsxChecker(file, options).then((res) => {
console.log("res1:", res);
// xlsxChecker.saveBolbToFileInWeb(res.blob, "output.xlsx"); 配置中未开启输出文件,或输出失败客尝试使用此方法重新输出
});
```
使用 worker
```javascript
var myWorker = new Worker("../dist/xlsx-checker-worker.js");
myWorker.onmessage = (event) => {
console.log(event.data);
};
myWorker.onerror = (error) => {
myWorker.terminate();
console.log(error.filename, error.lineno, error.message); // 发生错误的文件名、行号、错误内容
};
myWorker.postMessage({ file, options });
```
## 配置项说明
| 参数 | 类型 | 必需 | 说明 |
| ---------- | ------- | ---- | ------------------------- |
| offset | object | 否 | 偏移量,设置起始行列 |
| rules | object | 是 | 校验规则,按 表格-列 设置 |
| outputFile | Boolean | 否 | 是否直接下载校验结果 |
### rules `