2.0.1 • Published 6 months ago

@charyliu/data2file v2.0.1

Weekly downloads
-
License
ISC
Repository
github
Last release
6 months ago

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"));
1.1.1

6 months ago

1.1.0

6 months ago

2.0.1

6 months ago

2.0.0

6 months ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago