SoFunction
Updated on 2025-04-05

Detailed steps to implement Excel file export using xlsx library in Vue application

A complete guide to using the xlsx library to implement Excel file export in Vue applications

In modern web development, it is often necessary to export data to Excel files to facilitate offline analysis or recording. As a lightweight and efficient front-end framework,xlsxThe library can easily implement this function. This article will introduce in detail how to use it in Vue applicationsxlsxlibrary to export Excel files.

Practical examples

<template>
	<el-button
       @click="download()"
       type="info"
       style="float: right; padding: 10px 15px">
     ExportExcel
    </el-button>
</template>
<script>
import * as XLSX from 'xlsx';
export default {
    data(){
        return{
            datalist:[
                {
                    id:1,
                    name:"Xiao Yan",
                    age:21,
                    account:15032623621,
                    skill:"Fire Lotus",
                    gender:"male",
                },{
                    id:2,
                    name:"Xiao Xun'er",
                    age:20,
                    account:15032628986,
                    skill:"Imperial Seal",
                    gender:"female"
                },{
                    id:3,
                    name:"The Old Medicine",
                    age:25,
                    account:16632623621,
                    skill:"Alchemy",
                    gender:"male"
                },{
                    id:4,
                    name:"Little Doctor Immortal",
                    age:18,
                    account:17732623621,
                    skill:"The sky is cloudy",
                    gender:"female"
                },{
                    id:5,
                    name:"Medusa",
                    age:20,
                    account:18832623621,
                    skill:"Thousands of pounds lead to thunder"
                    gender:"female"
                },
            ]
        }
    },
    methods:{
        // Export EXCEL file method        download() {
          // Get userlist data from the data attribute of the Vue component          const data = ;
          // Convert JSON format data into worksheets (worksheet)          // The .json_to_sheet() method accepts an array where each element is an object representing a line in Excel          // The data variable here should be an array, and each object in the array contains the row data to be written to Excel          const worksheet = .json_to_sheet(data);
          // Create a new workbook (workbook)          // Workbooks are top-level containers in Excel files that can contain multiple worksheets          const workbook = .book_new();
          // Add worksheet to workbook          // 'Sheet1' is the name of the worksheet, you can modify it as needed          .book_append_sheet(workbook, worksheet, 'Sheet1');
          // Save the workbook as an Excel file and trigger the download          // '' is the exported file name, you can modify it as needed          // This method will generate a .xlsx file and prompt the user to download it          (workbook, '');
        },
    }
}
</script>

Step 1: InstallxlsxLibrary

First, you need to install it in your Vue projectxlsxlibrary. Open the terminal, go to your project directory, and run the following command:

npm install xlsx --save

This will installxlsxlibrary and its dependencies and add them to your project.

Step 2: Prepare the data

In Vue components, you need to prepare the data you want to export. This data can be responses from the API, data in local state management (such as Vuex), or any other data source. Typically, this data is organized in an array, where each object represents a row in Excel and the keys of the object represent the column title.

For example, suppose we have the following data:

const data = [
  { name: 'Zhang San', age: 20, gender: 'male' },
  { name: 'Li Si', age: 25, gender: 'female' },
  { name: 'Wang Wu', age: 30, gender: 'male' }
];

Step 3: Create an export method

In your Vue component, create a method to handle data conversion and file export. This method will usexlsxlibrary to create Excel files.

import * as XLSX from 'xlsx';
export default {
  methods: {
    exportToExcel() {
      // Convert data to worksheets      const worksheet = .json_to_sheet();
      // Create a workbook and add a worksheet      const workbook = .book_new();
      .book_append_sheet(workbook, worksheet, 'Sheet1');
      // Export Excel file      (workbook, '');
    }
  }
}

In this example,It should be the data in your Vue component, it will be converted to an Excel file.

Step 4: Trigger the export operation

To trigger the export operation, you can add a button in the template and bind the click event to your export method.

<template>
  <div>
    <button @click="exportToExcel">Export asExcel</button>
  </div>
</template>

When the user clicks this button,exportToExcelThe method will be called, thus starting the export process.

Step 5: Customize Excel Files

xlsxThe library provides many customization options that allow you to adjust the style, format and content of Excel files. For example, you can set column width, row height, cell style, etc.

// Set column widthconst columns = ['name', 'age', 'gender'];
const columnWidths = [20, 10, 10];
.column_width_set(worksheet, columnWidths);
// Set cell styleconst cell = worksheet['A1'];
 = { font: { bold: true } };

You canxlsxLibraryOfficial DocumentationFind more information about customization options in .

in conclusion

Through the above steps, you can easily implement the export function of Excel files in Vue applications.xlsxThe library provides powerful APIs and flexible customization options, making processing Excel files simple and efficient. Whether you want to export simple data tables or need complex formatting and styles,xlsxAll libraries can meet your needs.

This is the article about this complete guide to using the xlsx library to implement Excel file export in Vue applications. For more related vue using the xlsx library to export Excel content, please search for my previous articles or continue browsing the related articles below. I hope everyone will support me in the future!