@charyliu/data2file
v1.0.9
Published
提供浏览器环境下,将数据导出为文件的能力
Downloads
14
Readme
data2file
提供浏览器环境下,将数据导出为文件的能力
Install
npm install @charyliu/data2file
Types
/** 浏览器环境导出表格文件 */
export declare const downloadTableFile: (
table: Table,
fileName: string
) => void;
/** 表格 */
export interface Table {
/** 单元格数据 */
cells: {
/** 值 */
value: string | number;
/** 样式 */
style?: string;
/** 样式class,仅支持单个 */
className?: string;
}[][];
/** 配置 */
option?: {
/** 内部样式表 */
styleSheet?: string;
/** 全局单元格配置(应用到每个单元格) */
cellConfig?: {
/** 单元格样式 */
style: string;
};
/** 行配置(应用到指定行的每个单元格) */
rowConfig?: {
/** 行号,从0开始 */
index: number;
/** 单元格样式 */
style?: string;
/** 样式class,仅支持单个 */
className?: string;
}[];
/** 合并单元格配置 */
mergeConfig?: {
/** 开始单元格,r-行,c-列,行列从0开始 */
s: { r: number; c: number };
/** 结束单元格,r-行,c-列,行列从0开始 */
e: { r: number; c: number };
}[];
};
}
使用示范
导出表格
import { downloadTableFile } from '@charyliu/data2file';
// 示例:
downloadTableFile(
{
cells: [
[{ value: 'index' }, { value: 'name' }, { value: 'score' }],
[{ value: '1' }, { value: '张三' }, { value: '33' }],
[{ value: '2' }, { value: '李四' }, { value: '44' }],
],
option: {
styleSheet: `
.table-head {
background-color: #dddddd;
font-weight: bold;
}
`,
cellConfig: {
style: `font-family: "宋体"; border: 0.5px solid black; width: 100px;`,
},
rowConfig: [{ index: 0, className: 'table-head' }],
mergeConfig: [
{ s: { c: 0, r: 0 }, e: { c: 0, r: 1 } },
{ s: { c: 1, r: 0 }, e: { c: 2, r: 0 } },
],
},
},
'test.xlsx'
);