国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【微信小程序】導(dǎo)出 Excel 報表并分享,使用xlsx庫生成 Excel,使用echars插入圖表、使用pdfmake導(dǎo)出為PDF文件

這篇具有很好參考價值的文章主要介紹了【微信小程序】導(dǎo)出 Excel 報表并分享,使用xlsx庫生成 Excel,使用echars插入圖表、使用pdfmake導(dǎo)出為PDF文件。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

生成EXCEL

要在微信小程序中導(dǎo)出 Excel 報表并分享,可以使用第三方庫 xlsx 來生成 Excel 文件,并使用 wx.saveFile 方法將文件保存到本地,然后使用 wx.shareFile 方法來分享文件。

以下是一個示例代碼,演示如何在微信小程序中導(dǎo)出 Excel 報表并分享:

  1. 首先,安裝依賴庫 xlsx,可以使用 npm 進行安裝:
npm install xlsx
  1. 在小程序的頁面中引入 xlsx 庫,并定義一個導(dǎo)出 Excel 報表的方法:
// 引入依賴庫
const XLSX = require('xlsx');

// 定義導(dǎo)出 Excel 報表的方法
function exportExcel(data, filename) {
  const workbook = XLSX.utils.book_new();
  const sheet = XLSX.utils.aoa_to_sheet(data);

  XLSX.utils.book_append_sheet(workbook, sheet, 'Sheet1');

  const excelBuffer = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });
  const filePath = `${wx.env.USER_DATA_PATH}/${filename}.xlsx`;

  wx.saveFile({
    tempFilePath: filePath,
    filePath: filePath,
    success: function(res) {
      const savedFilePath = res.savedFilePath;

      wx.shareFile({
        filePath: savedFilePath,
        success: function(res) {
          console.log('分享成功');
        },
        fail: function(error) {
          console.log('分享失敗', error);
        }
      });
    },
    fail: function(error) {
      console.log('保存文件失敗', error);
    }
  });
}

在上述示例代碼中,我們通過 require 語句引入了 xlsx 庫。然后,定義了一個名為 exportExcel 的方法,該方法接受兩個參數(shù):data 表示要導(dǎo)出的數(shù)據(jù),filename 表示導(dǎo)出文件的文件名。

exportExcel 方法中,我們使用 xlsx 庫將數(shù)據(jù)轉(zhuǎn)換為 Excel 格式,并使用 XLSX.write 方法將工作簿寫入到一個數(shù)組中。然后,使用 wx.saveFile 方法將數(shù)組保存到本地文件,并通過 wx.shareFile 方法來分享文件。

接下來,你可以調(diào)用 exportExcel 方法來導(dǎo)出 Excel 報表并分享文件:

// 示例數(shù)據(jù)
const data = [
  ['姓名', '年齡', '性別'],
  ['張三', 25, '男'],
  ['李四', 30, '女'],
  ['王五', 28, '男']
];

// 調(diào)用導(dǎo)出 Excel 報表的方法
exportExcel(data, '報表');

在上述示例中,我們定義了一個名為 data 的數(shù)組,其中包含了要導(dǎo)出的數(shù)據(jù)。然后,調(diào)用 exportExcel 方法來導(dǎo)出 Excel 報表,并指定文件名為 '報表'。

請注意,上述示例代碼僅供參考,具體的實現(xiàn)方式可能需要根據(jù)你的實際需求進行調(diào)整。

插入?yún)R總和圖表

使用 echarts 庫來生成圖表。

以下是一個示例代碼,演示如何在微信小程序中導(dǎo)出 Excel 報表并在匯總中插入圖表:

  1. 首先,安裝依賴庫 xlsxecharts,可以使用 npm 進行安裝:
npm install xlsx echarts
  1. 在小程序的頁面中引入 xlsxecharts 庫,并定義一個生成圖表數(shù)據(jù)的方法:
// 引入依賴庫
const XLSX = require('xlsx');
const echarts = require('echarts');

// 定義生成圖表數(shù)據(jù)的方法
function generateChartData() {
  const xAxisData = ['張三', '李四', '王五', '趙六'];
  const seriesData = [85, 90, 95, 80];

  return {
    xAxis: {
      type: 'category',
      data: xAxisData
    },
    yAxis: {
      type: 'value'
    },
    series: [{
      data: seriesData,
      type: 'bar'
    }]
  };
}

在上述示例代碼中,我們通過 require 語句引入了 xlsxecharts 庫。然后,定義了一個名為 generateChartData 的方法,該方法用于生成圖表的數(shù)據(jù)。

generateChartData 方法中,我們定義了 xAxisDataseriesData 數(shù)組,分別表示圖表的 x 軸和 y 軸數(shù)據(jù)。然后,將這些數(shù)據(jù)組裝成一個對象,包含了圖表的配置信息。

接下來,你可以使用 echarts 庫來生成圖表,并將圖表數(shù)據(jù)插入到 Excel 文件的匯總中:

// 定義導(dǎo)出 Excel 報表的方法
function exportExcel(data, filename) {
  const workbook = XLSX.utils.book_new();
  const sheet = XLSX.utils.aoa_to_sheet(data);

  // 生成圖表數(shù)據(jù)
  const chartData = generateChartData();

  // 創(chuàng)建 chart sheet
  const chartSheet = XLSX.utils.aoa_to_sheet([
    ['姓名', '成績'],
    ['張三', chartData.series[0].data[0]],
    ['李四', chartData.series[0].data[1]],
    ['王五', chartData.series[0].data[2]],
    ['趙六', chartData.series[0].data[3]],
  ]);

  // 在 chart sheet 中插入圖表
  const chart = echarts.init(document.createElement('canvas'), null, {
    devicePixelRatio: 2
  });
  const option = chartData;
  chart.setOption(option);
  const chartImage = new Image();
  chartImage.src = chart.getDataURL({
    type: 'png',
    pixelRatio: 2
  });
  XLSX.utils.sheet_add_image(chartSheet, chartImage, {
    tl: { col: 0, row: 6 },
    br: { col: 5, row: 18 }
  });

  // 添加 sheets 到 workbook
  XLSX.utils.book_append_sheet(workbook, sheet, '數(shù)據(jù)');
  XLSX.utils.book_append_sheet(workbook, chartSheet, '匯總');

  // 生成 Excel 文件
  const excelBuffer = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });
  const filePath = `${wx.env.USER_DATA_PATH}/${filename}.xlsx`;

  // 保存文件并分享
  wx.saveFile({
    tempFilePath: filePath,
    filePath: filePath,
    success: function(res) {
      const savedFilePath = res.savedFilePath;

      wx.shareFile({
        filePath: savedFilePath,
        success: function(res) {
          console.log('分享成功');
        },
        fail: function(error) {
          console.log('分享失敗', error);
        }
      });
    },
    fail: function(error) {
      console.log('保存文件失敗', error);
    }
  });
}

在上述示例代碼中,我們在 exportExcel 方法中添加了一些額外的邏輯來生成圖表數(shù)據(jù)并將圖表插入到 Excel 文件的匯總中。

首先,我們創(chuàng)建了一個名為 chartSheet 的 chart sheet,并使用 XLSX.utils.aoa_to_sheet 方法將圖表數(shù)據(jù)轉(zhuǎn)換為 sheet 數(shù)據(jù)。然后,使用 echarts 庫創(chuàng)建一個圖表實例,并設(shè)置圖表的配置項。接著,使用 chart.getDataURL 方法將圖表轉(zhuǎn)換為圖片,并使用 XLSX.utils.sheet_add_image 方法將圖表圖片插入到 chart sheet 中。

最后,我們將數(shù)據(jù) sheet 和 chart sheet 添加到工作簿中,并通過 XLSX.write 方法將工作簿寫入到一個數(shù)組中。然后,使用 wx.saveFile 方法將數(shù)組保存到本地文件,并使用 wx.shareFile 方法來分享文件。

接下來,你可以調(diào)用 exportExcel 方法來導(dǎo)出 Excel 報表并分享文件:

// 示例數(shù)據(jù)
const data = [
  ['姓名', '年齡', '性別'],
  ['張三', 25, '男'],
  ['李四', 30, '女'],
  ['王五', 28, '男']
];

// 調(diào)用導(dǎo)出 Excel 報表的方法
exportExcel(data, '報表');

在上述示例中,我們定義了一個名為 data 的數(shù)組,其中包含了要導(dǎo)出的數(shù)據(jù)。然后,調(diào)用 exportExcel 方法來導(dǎo)出 Excel 報表,并指定文件名為 '報表'。

請注意,上述示例代碼僅供參考,具體的實現(xiàn)方式可能需要根據(jù)你的實際需求進行調(diào)整。

導(dǎo)出為PDF

要將生成的 Excel 文件轉(zhuǎn)換為 PDF 格式,可以使用第三方庫 xlsxpdfmake。首先,使用 xlsx 將 Excel 文件讀取為數(shù)據(jù),然后使用 pdfmake 將數(shù)據(jù)轉(zhuǎn)換為 PDF 格式。

以下是一個示例代碼,演示如何將生成的 Excel 文件轉(zhuǎn)換為 PDF:

  1. 首先,安裝依賴庫 xlsxpdfmake,可以使用 npm 進行安裝:
npm install xlsx pdfmake
  1. 在小程序的頁面中引入 xlsxpdfmake 庫,并定義一個將 Excel 文件轉(zhuǎn)換為 PDF 的方法:
// 引入依賴庫
const XLSX = require('xlsx');
const pdfMake = require('pdfmake/build/pdfmake');
const pdfFonts = require('pdfmake/build/vfs_fonts');

// 注冊字體
pdfMake.vfs = pdfFonts.pdfMake.vfs;

// 定義將 Excel 文件轉(zhuǎn)換為 PDF 的方法
function convertToPDF(filePath, callback) {
  // 讀取 Excel 文件
  const wb = XLSX.readFile(filePath);

  // 將 Excel 數(shù)據(jù)轉(zhuǎn)換為 JSON 對象
  const sheetName = wb.SheetNames[0];
  const worksheet = wb.Sheets[sheetName];
  const jsonData = XLSX.utils.sheet_to_json(worksheet, { header: 1 });

  // 將 JSON 對象轉(zhuǎn)換為 PDF
  const docDefinition = {
    content: [
      {
        table: {
          body: jsonData
        }
      }
    ]
  };

  const pdfDocGenerator = pdfMake.createPdf(docDefinition);
  pdfDocGenerator.getBlob((blob) => {
    if (typeof callback === 'function') {
      callback(blob);
    }
  });
}

在上述示例代碼中,我們通過 require 語句引入了 xlsxpdfmake 庫。然后,我們注冊了字體文件,用于在生成 PDF 時使用。

接著,定義了一個名為 convertToPDF 的方法,該方法接受一個參數(shù) filePath,表示要轉(zhuǎn)換的 Excel 文件的路徑。在方法中,我們使用 xlsx 將 Excel 文件讀取為數(shù)據(jù),并使用 XLSX.utils.sheet_to_json 方法將數(shù)據(jù)轉(zhuǎn)換為 JSON 對象。

然后,我們使用 pdfmake 將 JSON 對象轉(zhuǎn)換為 PDF。我們創(chuàng)建了一個 docDefinition 對象,其中的 content 屬性定義了 PDF 內(nèi)容的結(jié)構(gòu)。在這個示例中,我們使用表格來顯示 Excel 數(shù)據(jù)。

最后,我們通過 pdfMake.createPdf 方法創(chuàng)建了一個 PDF 文檔生成器,并使用 getBlob 方法將生成的 PDF 轉(zhuǎn)換為 Blob 對象,并通過回調(diào)函數(shù)返回。

接下來,你可以使用 convertToPDF 方法將生成的 Excel 文件轉(zhuǎn)換為 PDF,并進行進一步的操作,比如保存到本地或分享:

// 調(diào)用將 Excel 文件轉(zhuǎn)換為 PDF 的方法
convertToPDF('path/to/excel.xlsx', (pdfBlob) => {
  // 在這里可以進行進一步的操作,比如保存到本地或分享
});

在上述示例中,我們調(diào)用了 convertToPDF 方法,并傳入了 Excel 文件的路徑。在回調(diào)函數(shù)中,可以對生成的 PDF Blob 對象進行進一步的操作,比如保存到本地或分享。

請注意,上述示例代碼僅供參考,具體的實現(xiàn)方式可能需要根據(jù)你的實際需求進行調(diào)整。另外,小程序可能對文件系統(tǒng)的操作有限制,可能無法直接保存和分享 PDF 文件,你可能需要根據(jù)實際情況進行調(diào)整。文章來源地址http://www.zghlxwxcb.cn/news/detail-649125.html

到了這里,關(guān)于【微信小程序】導(dǎo)出 Excel 報表并分享,使用xlsx庫生成 Excel,使用echars插入圖表、使用pdfmake導(dǎo)出為PDF文件的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • uniapp 微信小程序?qū)С鰁xcel功能實現(xiàn)

    需要用到xlsx.core.min.js的js庫,以實現(xiàn)導(dǎo)出excel。 下載鏈接: SheetJS:?https://github.com/SheetJS/sheetjs 找到dist目錄下,xlsx.core.min.js文件,將它復(fù)制到你項目的/common/js/目錄下。 1、導(dǎo)入js庫; 2、編輯導(dǎo)出數(shù)據(jù)。 ?3、利用js庫導(dǎo)出excel。 這樣就可以了。

    2024年03月21日
    瀏覽(21)
  • 微信小程序/H5(UniApp)導(dǎo)入/導(dǎo)出excel文件

    XLSX.JS 鏈接:https://github.com/SheetJS/sheetjs 下載dist目錄下的xlsx.mini.min.js即可(根據(jù)開發(fā)需求可下載其他版本) mini版本只支持xlsx不支持xls哦,需要支持xls的話要下載完整版。 Uniapp可以將js文件放在@/common/js/目錄下 日期 事項 支出 2023-01-01 吃飯 300.00 2023-01-02 喝奶茶 28.00 2023-01-03

    2024年02月09日
    瀏覽(24)
  • 前端實現(xiàn)微信小程序JSON數(shù)據(jù)導(dǎo)出Excel表

    最近做微信小程序相關(guān)項目需要將數(shù)據(jù)導(dǎo)出為excel形式,在網(wǎng)上查了許多資料來實現(xiàn)這個功能,以下是我使用的方法,特此記錄一下,以便之后使用。 解決方法:使用sheetJS代碼插件實現(xiàn) github地址:https://github.com/SheetJS/sheetjs 下載地址:https://cdn.sheetjs.com/ 代碼如下,具體使用

    2024年01月17日
    瀏覽(17)
  • 微信小程序中pdf的上傳、下載及excel導(dǎo)出

    上傳兩種方法: 1.用vant weapp組件: 參考:https://blog.csdn.net/weixin_38566069/article/details/110229404 提示:突然冒出一個報錯:wx.chooseMessageFile點擊很多次后就突然無效了 昨天上傳功能在【微信開發(fā)工具和移動端】都可以用,早上突然實現(xiàn)了。 查了下是官方給出的解釋是: 2023年9月

    2024年02月12日
    瀏覽(22)
  • 微信小程序?qū)⒔涌诜祷氐奈募黝A(yù)覽導(dǎo)出Excel文件并轉(zhuǎn)發(fā)
  • 使用JavaScript和XLSX.js將數(shù)據(jù)導(dǎo)出為Excel文件

    導(dǎo)出數(shù)據(jù)是Web應(yīng)用程序中常見的功能之一。在許多情況下,我們需要將數(shù)據(jù)導(dǎo)出為Excel文件,以便用戶可以在本地計算機上查看和編輯數(shù)據(jù)。在本篇博客中,我們將介紹如何使用JavaScript和XLSX.js將數(shù)據(jù)導(dǎo)出為Excel文件。 XLSX.js是一個JavaScript庫,它提供了一組API,可以將數(shù)據(jù)轉(zhuǎn)換

    2024年04月26日
    瀏覽(19)
  • vue中使用xlsx插件導(dǎo)出多sheet excel實現(xiàn)方法

    vue中使用xlsx插件導(dǎo)出多sheet excel實現(xiàn)方法

    安裝xlsx,一定要注意版本:? package.json: App.vue: 設(shè)置單元格寬度: ?

    2024年02月07日
    瀏覽(24)
  • 微信小程序微信原生小程序如何通過后端返回的二進制流導(dǎo)出excel文件并保存和轉(zhuǎn)發(fā)

    微信小程序微信原生小程序如何通過后端返回的二進制流導(dǎo)出excel文件并保存和轉(zhuǎn)發(fā)

    首先后端返回給我們的數(shù)據(jù)是這樣的,一串二進制流 然后直接上代碼吧,注釋基本上說的差不多了 打開后的界面就是這樣,導(dǎo)出成功,然后右上角三個點可以保存本地和轉(zhuǎn)發(fā)

    2024年02月11日
    瀏覽(82)
  • 前端使用xlsx-js-style導(dǎo)出Excel文件并修飾單元格樣式

    前端使用xlsx-js-style導(dǎo)出Excel文件并修飾單元格樣式

    安裝 導(dǎo)出 excel 較常見的 js 庫是之一是 xlsx, xlsx 算是基礎(chǔ)版本,不能對單元格進行樣式(對齊方式、文字顏色、背景顏色等)的修飾,如果需要修飾單元格,可使用 xlsx-js-style 引入 需要導(dǎo)出的數(shù)據(jù)源 將數(shù)據(jù)源轉(zhuǎn)成需要的二維數(shù)組 定義 Excel 表頭 將定義好的表頭添加到 body

    2023年04月08日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包