Comment résoudre le problème des caractères tronqués lors de l'exportation d'Excel avec Vue.js

PHPz
Libérer: 2023-03-31 14:01:21
original
3153 Les gens l'ont consulté

Vue.js est un framework JavaScript frontal populaire. Dans le développement de Vue.js, lorsque vous utilisez des fichiers binaires pour exporter des fichiers Excel, vous pouvez rencontrer le problème des caractères Excel tronqués. Cet article vous aidera à résoudre le problème des caractères tronqués lors de l'exportation d'Excel avec Vue.js en présentant le concept et les solutions du codage binaire.

1. Codage binaire

Le codage binaire est un concept très important en informatique. Voici une brève introduction. Les données dans les ordinateurs sont stockées sous forme de nombres binaires. Les nombres binaires sont uniquement composés de 0 et de 1. Chaque nombre binaire représente un poids. Par exemple, le nombre décimal 123 peut être représenté par 1111011 en binaire, où les poids de chaque chiffre binaire sont respectivement 1, 2, 4, 8, 16, 32 et 64. Cette méthode de représentation des nombres à l’aide de nombres binaires est appelée codage binaire.

2. Problèmes d'encodage binaire et d'Excel tronqués

Dans Vue.js, si vous utilisez l'encodage binaire pour exporter des fichiers Excel, vous risquez de rencontrer des caractères tronqués. La raison spécifique est que l'analyseur peut confondre le codage binaire avec d'autres formats de codage, tels que le codage UTF-8 ou le codage GBK. Cette mauvaise reconnaissance entraîne des fichiers Excel tronqués, car Excel doit utiliser un format de codage spécifique pour afficher et analyser correctement les données.

3. Solution

Afin de résoudre le problème des fichiers Excel tronqués exportés par Vue.js, nous pouvons utiliser des flux de fichiers comme support intermédiaire pour garantir l'exactitude des données en spécifiant le format d'encodage du fichier Excel. Voici les solutions spécifiques.

Première étape : installer les dépendances

Ouvrez le terminal dans le répertoire racine du projet Vue.js et exécutez la commande suivante pour installer les dépendances requises :

npm install file-saver script-loader -S
Copier après la connexion

Deuxième étape : encapsulez la méthode d'exportation d'Excel

Dans Vue. js, définissez une méthode permettant d'exporter un fichier Excel :

export function exportExcel(data, name) {
  require.ensure([], () => {
    const { utils, writeFile } = require('xlsx');
    const sheet = utils.json_to_sheet(data);
    const workbook = utils.book_new();
    utils.book_append_sheet(workbook, sheet);
    const wbout = writeFile(workbook, { bookType: 'xlsx', bookSST: true, type: 'binary' });
    saveAs(new Blob([s2ab(wbout)], { type: 'application/octet-stream' }), `${name}.xlsx`);
  });
}

function s2ab(s) {
  const buf = new ArrayBuffer(s.length);
  const view = new Uint8Array(buf);
  for (let i = 0; i !== s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;
  return buf;
}
Copier après la connexion

Le code ci-dessus encapsule une fonction nommée exportExcel, qui reçoit deux paramètres : les données et le nom du fichier. Cette méthode d'exportation d'Excel est basée sur xlsx.js, vous devez donc installer xlsx.js avant de pouvoir utiliser sa méthode.

Étape 3 : Appeler la méthode d'export Excel

Dans le code métier spécifique, il vous suffit d'appeler la méthode d'export Excel juste encapsulée. Par exemple, le code suivant montre comment exporter un tableau vers un fichier Excel :

import { exportExcel } from '@/utils/exportExcel';

export default {
  data() {
    return {
      tableData: [
        { name: '张三', age: 20 },
        { name: '李四', age: 21 },
        { name: '王五', age: 22 },
        { name: '赵六', age: 23 },
      ],
    };
  },
  methods: {
    export() {
      exportExcel(this.tableData, '数据表');
    },
  },
};
Copier après la connexion

4. Résumé

Vue.js est un framework JavaScript frontal populaire, mais des caractères tronqués sont susceptibles d'apparaître lors de l'exportation de fichiers Excel à l'aide de fichiers binaires. fichiers. Pour résoudre ce problème, vous pouvez utiliser des flux de fichiers comme support intermédiaire et utiliser le format de codage de fichier Excel spécifié pour garantir l'exactitude des données. Grâce aux étapes ci-dessus, nous pouvons facilement résoudre le problème des fichiers Excel tronqués exportés par Vue.js.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!