2.0.1 • Published 6 months ago
@charyliu/data2file v2.0.1
data2file
提供浏览器、nodejs 环境下,将数据导出为文件的能力
Install
npm install @charyliu/data2file
Types
/** 表格 */
export interface Table {
/** 单元格数据 */
cells: (string | number)[][];
/** 配置 */
option?: {
/** 内部样式表 */
styleSheet?: string;
/** 样式类名方法,用于将样式类名应用到单元格,样式类名取styleSheet中定义的 */
classFn?: (r: number, c: number, value: string | number) => string;
/** 样式方法,用于将样式应用到单元格 */
styleFn?: (r: number, c: number, value: string | number) => string;
/** 合并单元格配置 */
mergeConfig?: {
/** 开始单元格,r-行,c-列,行列从0开始 */
s: {
r: number;
c: number;
};
/** 结束单元格,r-行,c-列,行列从0开始 */
e: {
r: number;
c: number;
};
}[];
};
}
/** 浏览器环境导出表格文件 */
export declare const downloadTableFile: (
table: Table,
fileName: string
) => void;
/** nodejs环境导出表格文件 */
export declare const exportTableFile: (
table: Table,
filePath: string
) => Promise<unknown>;使用示范
导出表格
// 表格数据
const table = {
cells: [
["index", "name", "score"],
["1", "张三", "33"],
["2", "李四", "44"],
],
option: {
styleSheet: `
td { text-align: center; }
.fw-b { font-weight: bold; }
`,
classFn: (r, c, v) => {
if (r == 0) return `fw-b`;
},
}
};
// 浏览器环境示例:
import { downloadTableFile } from "@charyliu/data2file";
downloadTableFile(table, "test.xlsx");
// nodejs环境示例:
const { exportTableFile } = require("@charyliu/data2file");
const path = require("path");
exportTableFile(table, path.resolve("./test.xlsx"));