mxlsx插件使用文档
npm i mexcel
excel导入
IExcelImportConfig
参数 | 描述 | 类型 | 必填 | 可选值 | 默认值 |
---|
file | 文件 | File | Blob | 是 | -- | -- |
keys | 导入数据key值 | "A" | number | string[] | 否 | -- | -- |
keyRow | 读取excel表格中某行数据作为key值, keys 存在的情况下 keyRow 不生效 | number | 否 | -- | -- |
dataRow | 读取excel表格中从某行开始 | number | 否 | -- | 0 |
customKey | 是否采用自定义key keys、keyRow 和 dataRow 只有在 customKey 为 true 时才生效 | boolean | 否 | true | false | true |
onProgress | 导入文件进度 | (event: ProgressEvent) => void | 否 | -- | -- |
excel导出
方法 | 描述 | 类型 |
---|
exportExcel | 导出 | (excelData: IExcel, path?: string, success?: () => void, fail?: (err: unknown) => void) => void |
参数说明
参数 | 描述 | 类型 | 必填 | 可选值 | 默认值 |
---|
fileName | 文件名 | string | 否 | -- | excel |
fileExtention | 文件格式 | string | 否 | xlsx | xls | xlsx |
sheets | 工作表数据工作表参数 | ISheet | 是 | -- | -- |
参数 | 描述 | 类型 | 必填 | 可选值 | 默认值 |
---|
title | 表格标题,自动合并单元格 | string | 否 | -- | -- |
titleStyle | 表格标题样式 具体参数查看下方单元格样式参数 在title存在的情况才生效 | CellStyle | 否 | -- | -- |
tHeaders | 表格表头 可以配置多表头,自动合并单元格 | INSArr[] | 否 | -- | -- |
tHeaderStyle | 表格表头样式 具体参数查看下方单元格样式参数 在tHeaders存在的情况才生效 | CellStyle | 否 | -- | -- |
table | 表格数据 | ITable[] | 是 | -- | -- |
cols | 列样式配置 具体参数查看下方列样式参数 | ColInfo[] | 否 | -- | -- |
titleRow | 表格标题行样式配置 行样式参数 在title存在的情况才生效 | RowInfo | 否 | -- | -- |
headerRows | 列样式配置 具体参数查看下方行样式参数 在tHeaders存在的情况才生效 | RowInfo[] | 否 | -- | -- |
row | 行样式配置 具体参数查看下方行样式参数 | RowInfo | 否 | -- | -- |
merges | 单元格合并配置 具体参数查看下方合并参数 | Range[] | 否 | -- | -- |
keys | 表格数据key值描述 参数数据影响标题和表头的自动合并 | INSArr | 是 | -- | -- |
sheetName | 工作表名字 | string | 否 | -- | sheet + 索引值 |
globalStyle | 单元格全局样式 具体参数查看下方单元格样式参数 | CellStyle | 否 | -- | -- |
cellStyle | 具体单元格自定义样式 具体参数查看下方单元格样式参数 | ICellStyle | 否 | -- | -- |
参数 | 描述 | 类型 | 必填 | 可选值 | 默认值 |
---|
font | 字体样式 具体参数查看下方字体样式参数 | CellStyle.font | 否 | -- | -- |
alignment | 对齐方式 具体参数查看下方对齐方式参数 | CellStyle.alignment | 否 | -- | -- |
border | 边框样式 具体参数查看下方边框样式参数 | CellStyle.border | 否 | -- | -- |
fill | 背景样式 具体参数查看下方背景样式参数 | CellStyle.fill | 否 | -- | -- |
numFmt | 数据格式 | string | 否 | 0 | 0.00% | 0.0% | 0.00%;\(0.00%\);\-;@ | m/dd/yy | 0 |
参数 | 描述 | 类型 | 必填 | 可选值 | 默认值 |
---|
bold | 粗细 | boolean | 否 | true | false | false |
color | 字体颜色 具体参数查看下方颜色参数 | CellStyleColor | 否 | -- | -- |
italic | 斜体 | boolean | 否 | true | false | false |
name | 字体 | string | 否 | -- | Calibri |
sz | 字体大小 | number | 否 | -- | -- |
strike | 删除线 | boolean | 否 | true | false | false |
underline | 下划线 | boolean | 否 | true | false | false |
vertAlign | 上下标 | string | 否 | "superscript" | "subscript" | null |
参数 | 描述 | 类型 | 必填 | 可选值 | 默认值 |
---|
horizontal | 横向对齐 | string | 否 | left | center | right | left |
vertical | 纵向对齐 | string | 否 | top | center | bottom | bottom |
textRotation | 文字旋转 | number | 否 | 0 - 180 | 255 | 0 |
wrapText | 是否换行 | boolean | 否 | true | false | false |
参数 | 描述 | 类型 | 必填 | 可选值 | 默认值 |
---|
top | 上边 具体参数查看下方颜色参数 边框属性参数 | { color: CellStyleColor; style?: BorderType } | 否 | -- | -- |
bottom | 下边 | { color: CellStyleColor; style?: BorderType } | 否 | -- | -- |
left | 左边 | { color: CellStyleColor; style?: BorderType } | 否 | -- | -- |
right | 右边 | { color: CellStyleColor; style?: BorderType } | 否 | -- | -- |
diagonal | 对角线 | { color: CellStyleColor; style?: BorderType; diagonalUp?: boolean; diagonalDown?: boolean } | 否 | -- | -- |
参数 | 描述 | 类型 | 必填 | 可选值 | 默认值 |
---|
bgColor | 背景色 具体参数查看下方颜色参数 | CellStyleColor | 否 | -- | -- |
fgColor | 前景色 具体参数查看下方颜色参数 | CellStyleColor | 否 | -- | -- |
patternType | 模式 | string | 否 | solid | none | solid |
参数 | 描述 | 类型 | 必填 | 可选值 | 默认值 |
---|
s | 开始单元格 具体参数查看下方表格位置参数 | CellAddress | 否 | -- | -- |
e | 结束单元格 具体参数查看下方表格位置参数 | CellAddress | 否 | -- | -- |
参数 | 描述 | 类型 | 必填 | 可选值 | 默认值 |
---|
c | 列数 | number | 是 | 0 - max | -- |
r | 行数 | number | 是 | 0 - max | -- |
参数 | 描述 | 类型 | 必填 | 可选值 | 默认值 |
---|
hidden | 是否隐藏行 | boolean | 否 | true | false | false |
hpx | 行高 屏幕像素高度 | number | 否 | 0 - max | -- |
hpt | 行高 以点为单位的高度 | number | 否 | 0 - max | -- |
level | 分组折叠 | number | 否 | -- | -- |
参数 | 描述 | 类型 | 必填 | 可选值 | 默认值 |
---|
hidden | 是否隐藏列 | boolean | 否 | true | false | false |
width | 列宽 最大数字宽度中的宽度 | number | 否 | 0 - max | -- |
wpx | 列宽 Excel的“最大数字宽度”中的宽度,width256是整数* | number | 否 | 0 - max | -- |
wch | 列宽 字符宽度 | number | 否 | 0 - max | -- |
level | 分组折叠 | number | 否 | -- | -- |
MDW | 列宽 Excel 的“最大数字宽度”单位,始终为整数 | number | 否 | 0 - max | -- |
参数 | 描述 | 类型 | 必填 | 可选值 | 默认值 |
---|
rgb | 颜色值 hex值不要带#号 | string | 否 | -- | -- |
theme | 主题色 theme与rgb不同时存在,theme覆盖rgb | number | 否 | -- | -- |
tint | 透明度 在theme存在是生效 | -1.0 - 1.0 | 否 | -- | -- |
描述 | 类型 | 必填 | 可选值 | 默认值 |
---|
边框样式 | BorderType | 否 | dashDot | dashDotDot | dashed | dotted | hair | medium | mediumDashDot | mediumDashDotDot | mediumDashed | slantDashDot | thick | thin | -- |
import { exportExcel, IExcel } from "mexcel";
const excelData: IExcel = {
sheets: [
{
title: "学生列表",
tHeaders: [["学号", "姓名", "班级", "考试成绩"], ["", "", "", "语文", "数学", "英语"]],
merges: [
{
s: { c: 0, r: 1 },
e: { c: 0, r: 2 }
},
{
s: { c: 1, r: 1 },
e: { c: 1, r: 2 }
},
{
s: { c: 2, r: 1 },
e: { c: 2, r: 2 }
},
{
s: { c: 3, r: 1 },
e: { c: 5, r: 1 }
}
],
table: [
{
no: "1",
name: "李浩",
class: "二年级2班",
yuwen: 93,
shuxue: 95,
yingyu: 88
},
{
no: "2",
name: "王明",
class: "二年级1班",
yuwen: 89,
shuxue: 99,
yingyu: 90
}
],
cols: [
{
wpx: 50
},
{
wpx: 100
},
{
wpx: 200
},
{
wpx: 50
},
{
wpx: 50
},
{
wpx: 50
}
],
titleRow: {
hpx: 60
},
headerRows: [
{
hpx: 40
},
{
hpx: 40
}
],
row: {
hpx: 30
},
keys: ["no", "name", "class", "yuwen", "shuxue", "yingyu"],
sheetName: "学生列表",
globalStyle: {
font: {
sz: 18
},
alignment: {
horizontal: "center",
vertical: "center",
wrapText: true
},
border: {
top: { style: "thin", color: {} },
right: { style: "thin", color: {} },
bottom: { style: "thin", color: {} },
left: { style: "thin", color: {} }
}
},
titleStyle: {
font: {
sz: 22,
color: {
rgb: "f60000"
}
},
alignment: {
horizontal: "center",
vertical: "center",
wrapText: true
},
border: {
top: { style: "thin", color: {} },
right: { style: "thin", color: {} },
bottom: { style: "thin", color: {} },
left: { style: "thin", color: {} }
}
}
}
],
fileName: "学生信息"
};
exportExcel(excelData);