excel创建和部分使用

一.excel导出是在开发中经常操作的内容,对于excel的导出也是有各种成熟的api组件

这里是最近的项目有通过ts处理,这里的内容通过ts

①引入const XlsxPopulate = require("xlsx-populate"); const XLSXChart = require("xlsx-chart");

通过命令行操作, pnpm xlsx-populate xlsx-chart

②对于excel的说明更有利于对构建excel的理解

1.整个单独的excel即为一个工作簿(workBook)

2.一个工作簿里面可以有很多工作表(sheet)

3.每个工作表有工作表的名称sheetName

4.每个工作表有头(header),体(body)存储数据

5.每列开始从a开始到之后都有唯一的.这里不多可以使用A1:${ 97+ header.lenth-1}.length(head.length)

二.上面说完之后就应该有熟悉的认识

XlsxPopulate.fromFileAsync(pathInfo.filePath)
      .then(async (workbook) => {
//导出路径格式
        const filePath = `./${
          pathInfo.folderName
        }/TicketsReport_${moment().unix()}.xlsx`;
//工作表名
        const newSheetName = "ReportData";
        const newSheet = workbook.addSheet(newSheetName);
//头部
        const header = [
          "Brand",
          "Branch code",
          "Branch name(TC)",
        ];
//体 数据存储位置 这里范围从A1开始后面的为获取具体的ASCll码
        const range = workbook
          .sheet(newSheetName)
          .range(
            `A1:${String.fromCharCode(97 + header.length - 1).toUpperCase()}header.length`
          );

        range.value([
          header,
          ...reportData.map((data) => [
            data.brandName,
            data.branchCode,
            data.branchName,
          ]),
        ]);

        // 写文件输出
        await workbook.toFileAsync(filePath);
})
      .catch((error) => {
        Logger.error(`Something went wrong - ${error?.message ?? JSON.stringify(error)}`, 'excel')
      });

___________________________________________________________________________

第二部分:

一.对于要将结果变.csv格式的纯文本格式的这种内容就简单很多了,

这个部分只是文字,只是header和body部分需要写上,之后加上换行符"/n"就可以

 const header = [

        "id",

        "token",]

let body= "";
      csvContent.forEach((ticket) => {
        let rowData = '';
        header.forEach((key)=>{
          let value='';
          value =  ticket[key]??' ';
          rowData += value + ",";
        });
        rowData= rowData.slice(0, -1) + "\n";
        body+= rowData;
      });

const headerString = header.join(",") + "\n";

const data= headerString+body

这里将内容转换成需要的内容之后,拼接起来,之后通过fs将结果导出即可

await fs.promises.writeFile(filePath,data,'utf-8');

相关推荐

  1. excel创建部分使用

    2024-03-27 14:08:02       42 阅读
  2. vue创建组件使用

    2024-03-27 14:08:02       56 阅读
  3. 如何创建使用索引?

    2024-03-27 14:08:02       58 阅读
  4. 如何创建使用视图?

    2024-03-27 14:08:02       55 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-27 14:08:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-27 14:08:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-27 14:08:02       87 阅读
  4. Python语言-面向对象

    2024-03-27 14:08:02       96 阅读

热门阅读

  1. 数据结构链栈实现(c语言)

    2024-03-27 14:08:02       45 阅读
  2. 软件工程的相关知识点

    2024-03-27 14:08:02       38 阅读
  3. 使用 React Hooks 管理状态和引用

    2024-03-27 14:08:02       39 阅读
  4. Web开发:深入探讨React Hooks的使用和最佳实践

    2024-03-27 14:08:02       39 阅读
  5. mysql怎么创建索引?

    2024-03-27 14:08:02       34 阅读
  6. Kotlin object

    2024-03-27 14:08:02       39 阅读