当前位置: 首页 > 工具软件 > ExcelJS > 使用案例 >

使用exceljs将数据导出到excel中

姜志行
2023-12-01

When we develop a simple application or complex enterprise application using any technology, The end-user always needs the report data in an Excel file. Why because most people rely on excel file. I worked with various Angular Enterprise applications. In all applications, the customer asked us to give a downloadable excel file using various filters.

当我们使用任何技术开发简单的应用程序或复杂的企业应用程序时,最终用户总是需要Excel文件中的报告数据。 为什么因为大多数人都依赖excel文件。 我处理过各种Angular Enterprise应用程序。 在所有应用程序中,客户要求我们使用各种过滤器提供可下载的excel文件。

In this tutorial, you will learn, how to download an excel file using Angular. I am going to show a demo of excel file download using ExcelJS and File Saver plugin. If you are an Angular developer and looking for export data to excel, then this post will help you more. We will see them one by one.

在本教程中,您将学习如何使用Angular下载Excel文件。 我将展示一个使用ExcelJS和File Saver插件的excel文件下载演示。 如果您是Angular开发人员,并且正在寻找出色的导出数据,那么这篇文章将为您提供更多帮助。 我们将一一看到。

步骤1.创建新的Angular项目 (Step 1. Create New Angular Project)

Create a new Angular project using the below command.

使用以下命令创建一个新的Angular项目。

ng new angular-excel-example

Once the initial setup is done, then open the project folder using the VS code editor.

初始设置完成后,请使用VS代码编辑器打开项目文件夹。

步骤2.安装ExcelJS插件 (Step 2. Install ExcelJS Plugin)

ExcelJS plugin is used to read and write excel file. It is rich in functionality. You can style rows and columns. Even you can add images to excel files. That’s why many people using this library.

ExcelJS插件用于读取和写入Excel文件。 它具有丰富的功能。 您可以设置行和列的样式。 即使您可以将图像添加到excel文件。 这就是为什么许多人使用此库的原因。

Install ExcelJS using the below command.

使用以下命令安装ExcelJS。

npm install exceljs --save

步骤3.,安装文件保护程序 (Step 3. Install File Saver)

FileSaver.js is the solution to saving files on the client-side and is perfect for web apps that generate files on the client.

FileSaver.js是在客户端保存文件的解决方案,非常适合在客户端上生成文件的Web应用程序。

Install file saver plugin using the below command.

使用以下命令安装文件保护程序插件。

npm install file-saver --save

步骤4.创建带有Click事件的按钮 (Step 4. Create Button With Click Event)

Create a button on the app.component.html file with click event.

在带有click事件的app.component.html文件上创建一个按钮。

<div>


    <button class="centre btn mc" (click)="downloadExcel()">Download</button>


</div>

步骤5.导入ExcelJS和File Saver插件(Step 5. Import ExcelJS and File Saver Plugin)

Open the app.component.ts file and import the ExcelJS and File Saver plugin using the below code.

打开app.component.ts文件,并使用以下代码导入ExcelJS和File Saver插件。

import { Workbook } from 'exceljs';


import * as fs from 'file-saver';

步骤6.创建一个可下载的Excel文件(Step 6. Create a Downloadable Excel File)

Here I am going to explain, each piece of code in a step by step manner.

在这里,我将逐步解释每段代码。

  1. First, we need data in the JSON format. You can create dummy data like me for testing purposes or you can get the data from the server.

    首先,我们需要JSON格式的数据。 您可以创建像我这样的虚拟数据以进行测试,也可以从服务器获取数据。

Here I creating a variable with some name and age data.

在这里,我创建了一个带有一些名称和年龄数据的变量。

json_data=[{
		"name": "Raja",
		"age": 20
	},
	{
		"name": "Mano",
		"age": 40
	},
	{
		"name": "Tom",
		"age": 40
	},
	{
		"name": "Devi",
		"age": 40
	},
	{
		"name": "Mango",
		"age": 40
	}
]

2. Next, create a workbook excel workbook using

2.接下来,使用创建工作簿excel工作簿

//create new excel work book
let workbook = new Workbook();

3. From the workbook, we can create a new sheet using the addWorksheet() function. Give a sheet name here

3.从工作簿中,我们可以使用addWorksheet()函数创建一个新表。 在此处给工作表名称

//add name to sheet
let worksheet = workbook.addWorksheet("Employee Data");

4. Add column header using the addRow() function. In the JSON data, I have only two columns. That’s why I creating the only two columns.

4.使用addRow()函数添加列标题。 在JSON数据中,我只有两列。 这就是为什么我只创建两列。

//add column name
let header=["Name","Age"]
let headerRow = worksheet.addRow(header);

5. Now add the JSON data to the worksheet using the for loop.

5.现在,使用for循环将JSON数据添加到工作表中。

for (let x1 of this.json_data)
{
  let x2=Object.keys(x1);
  let temp=[]
  for(let y of x2)
  {
    temp.push(x1[y])
  }
  worksheet.addRow(temp)
}

6. Set the file name and call the write function to create a downloadable excel file.

6.设置文件名并调用write函数以创建可下载的excel文件。

//set downloadable file name
let fname="Emp Data Sep 2020"


//add data and file name and download
workbook.xlsx.writeBuffer().then((data) => {
  let blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
  fs.saveAs(blob, fname+'-'+new Date().valueOf()+'.xlsx');
});

That’s all. Now you can export data to an excel file.

就这样。 现在您可以将数据导出到excel文件。

概要 (Summary)

Exporting data to an excel file is always a demanded functionality in any application. Especially if you take any CRM, ERP, and any Complex web applications, the end-user in need of data in the excel file. This post will be very helpful if you are looking for a downloadable excel file using Angular. The ExcelJS plugin offers styling rows and columns and even you can add images too. It had many other functionalities too. You can check it out using the below link.

在任何应用程序中,始终需要将数据导出到excel文件。 特别是如果您使用任何CRM,ERP和任何复杂的Web应用程序,则最终用户需要excel文件中的数据 如果您正在使用Angular寻找可下载的excel文件,那么这篇文章将非常有帮助。 ExcelJS插件提供样式化的行和列,甚至您也可以添加图像。 它还具有许多其他功能。 您可以使用以下链接查看。

Project repo:

项目仓库:

You can simply download the above-mentioned project and try on your local machine.

您可以简单地下载上述项目,然后在本地计算机上尝试。

普通英语JavaScript (JavaScript In Plain English)

Enjoyed this article? If so, get more similar content by subscribing to Decoded, our YouTube channel!

喜欢这篇文章吗? 如果是这样,请订阅我们的YouTube频道解码,以获得更多类似的内容

翻译自: https://medium.com/javascript-in-plain-english/export-data-to-excel-in-angular-using-exceljs-305ba8c5dece

 类似资料: