简体   繁体   English

如何将反应表导出到以自定义标题作为列的 excel 文件

[英]How can I export react table to excel file with custom title as a column

import React, { useEffect, useState } from 'react';
import * as XLSX from 'xlsx'
import { useQuery } from '@tanstack/react-query';

const Excl = ({userDatas}) => {


    let xlDatas = []

    const handleExportExcl = (userDatas) => {
        userDatas.map(xlData => {
            xlDatas.push(xlData)
        })
  
        const wb = XLSX.utils.book_new(),
            ws = XLSX.utils.json_to_sheet(xlDatas)
        XLSX.utils.book_append_sheet(wb, ws, "MySheet");
        XLSX.writeFile(wb, "MyExcel.xlsx")
    }

    return (
        <span onClick={() => handleExportExcl(userDatas)} ><span className='flex justify-center items-center'> <span className='mr-3'></span>EXCEL </span> </span>
    );
};

export default Excl;

I want an excel sheet with the custom title as a column.我想要一个以自定义标题作为列的 Excel 工作表。 Here is my code.这是我的代码。 I take userDatas from another component.我从另一个组件中获取 userDatas。

This is the example in https://www.npmjs.com/package/xlsx-lite .这是https://www.npmjs.com/package/xlsx-lite中的示例。

import XLSX from 'xlsx-lite';

// Create a workbook
const xlsx = new XLSX();

// Add a sheet to workbook
const sheet = xlsx.sheet('Sheet Name');

// Change sheet styles
sheet.style({
  rtl: true,
});

// Set values
sheet.row(1).col(1).set('foo');
sheet.cell(1, 2).set('bar');
sheet.set('baz', { row: 1, col: 3 });
sheet.cell(1, 4).set([
  'r1',
  ['r2,c4', 'r2,c5', 'r2,c6'],
  'r3',
])

// Get values
console.log(sheet.row(1).col(1).get()); // foo
console.log(sheet.get({ row: 1, col: 2 })); // bar

// Add styles
const someStyles = xlsx.style({
  color: '#f00',
  fontFamily: 'Baloo Bhaijaan',
  fontWeight: 'bold',
  fontSize: 14,
  textDecoration: 'line-through',
  fontStyle: 'italic',
  backgroundColor: '#ff0',
  textAlign: 'center',
  verticalAlign: 'middle',
  borderStyle: 'double',
  borderColor: '#00f',
});
sheet.set('styled', {
  row: 2,
  col: 1,
  style: someStyles,
});

// Set and get row height
sheet.row(2).height(100);
console.log(sheet.row(2).height()); // 100

// Set and get column width
sheet.col(1).width(20);
console.log(sheet.col(1).width()); // 20

// Add filters
sheet.addFilter({
  from: { row: 1, col: 1 },
  to: { row: 7, col: 1 },
});

// Download the result
xlsx.save('test.xlsx');

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何在 react-export-excel 中设置单元格样式? - How can I style cells in react-export-excel? 如何使用 Nextjs/React 将 JSON object 导出到 Excel? - How can I export a JSON object to Excel using Nextjs/React? 如何使用反应导航更新 stacknavigator 上的自定义标题? - How can I update a custom title on stacknavigator with react navigation? 如何在导出到excel的同时用自定义标题和样式创建一个excel文件? - How to create an excel file in react js with custom headings and styles while doing export to excel? react-export-excel 导出时如何隐藏 excel 中的列? - react-export-excel how to hide column in excel when exported? 如何将变量导出到另一个文件 React - How can I export a variable to another file React 反应材料表:如何覆盖材料表中的标题样式? - React material-table: How can I override the style of title in material-table? 如何使用单个导出从 React 中的 JS 文件导出所有导入的图像? - How can I export all imported images from a JS file in React using a single export? 如何将具有可扩展行的反应表导出到csv或excel? - how to export react table with expandable rows to csv or excel? 如何将反应引导表数据导出到 PDF 和 EXCEL - How to export react bootstrap table data to PDF and EXCEL
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM