日韩欧美人妻无码精品白浆,www.大香蕉久久网,狠狠的日狠狠的操,日本好好热在线观看

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網站管理員

【HTML】純JavaScript代碼導出DIV中多個table到Excel文件的同一個工作表格并自動下載

admin
2025年5月23日 13:57 本文熱度 49531

純JavaScript代碼導出HTML的DIV中多個table到Excel文件的同一個工作表中并下載,以下是實現(xiàn)將DIV內多個表格合并導出到Excel同一工作表的解決方案:

<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.18.5/xlsx.full.min.js"></script>


?

<div id="printA">

  <!-- 表格1 -->

  <table>

    <tr><th>姓名</th><th>部門</th></tr>

    <tr><td>張三</td><td>技術部</td></tr>

  </table>

  

  <!-- 表格2 -->

  <table>

    <tr><th>項目</th><th>進度</th></tr>

    <tr><td>系統(tǒng)升級</td><td>50%</td></tr>

    <tr><td>安全審計</td><td>已完成</td></tr>

  </table>

</div>


<button onclick="exportAllToOneSheet()">合并導出</button>


<script>

function exportAllToOneSheet() {

  const div = document.getElementById('printA');

  const tables = div.getElementsByTagName('table');

  const wb = XLSX.utils.book_new();

  const ws = XLSX.utils.aoa_to_sheet([[]]); // 創(chuàng)建空工作表


  let currentRow = 0; // 當前寫入行指針


  Array.from(tables).forEach((table, tableIndex) => {

    // 將表格轉換為二維數(shù)組

    const tableData = XLSX.utils.sheet_to_json(

      XLSX.utils.table_to_sheet(table),

      { header: 1 }

    );


    // 添加表格間的分隔空行(第一個表格前不加)

    if (tableIndex > 0) {

      XLSX.utils.sheet_add_aoa(ws, [[""]], { origin: { r: currentRow, c: 0 } });

      currentRow++;

    }


    // 將表格數(shù)據(jù)寫入工作表

    XLSX.utils.sheet_add_aoa(ws, tableData, {

      origin: { r: currentRow, c: 0 } // 從當前行開始寫入

    });


    // 更新行指針(+數(shù)據(jù)行數(shù))

    currentRow += tableData.length;

  });


  // 將工作表添加到工作簿

  XLSX.utils.book_append_sheet(wb, ws, "合并數(shù)據(jù)");


  // 生成并下載文件

  XLSX.writeFile(wb, 'combined_tables.xlsx');

}

</script>

關鍵功能說明:

  1. 數(shù)據(jù)合并策略

    • 自動識別每個表格的列結構

    • 按DOM順序從上到下堆疊表格

    • 自動處理不同表格的列差異(自動擴展列)

  2. 表格間隔處理

// 添加分隔空行(可修改為添加分隔線)

if (tableIndex > 0) {

  XLSX.utils.sheet_add_aoa(ws, [[""]], ...);

  currentRow++;

}?

可根據(jù)需要修改為添加分隔線或自定義內容

  1. 數(shù)據(jù)寫入控制

    • currentRow 變量跟蹤當前寫入位置

    • 使用 sheet_add_aoa 方法精確控制寫入位置

高級配置選項(可選):

// 在函數(shù)開始處添加配置對象

const config = {

  skipHeader: false,    // 是否跳過后續(xù)表格的標題行

  spacing: 1,          // 表格間隔行數(shù)(0=無間隔)

  separatorType: 'row' // 分隔類型:'row'(空行)/'line'(分割線)/'custom'

};


// 使用示例(需要修改實現(xiàn)邏輯):

if (tableIndex > 0 && config.spacing > 0) {

  // 添加間隔...

}?

不同表格結構處理示例:

當表格列數(shù)不一致時:

表格1結構表格2結構合并結果




A列B列C列A列B列將自動擴展為三列,表格2的第三列留空

數(shù)據(jù)1數(shù)據(jù)2數(shù)據(jù)3數(shù)據(jù)A數(shù)據(jù)B數(shù)據(jù)A數(shù)據(jù)B(空)

注意事項:

  1. 樣式保留:SheetJS默認不保留HTML表格樣式,如需樣式請使用以下方法:

// 在table_to_sheet時保留基礎樣式

const ws = XLSX.utils.table_to_sheet(table, {raw: true});?

  1. 大數(shù)據(jù)量優(yōu)化:建議添加防抖處理

// 在按鈕點擊時添加

let isExporting = false;

function exportAllToOneSheet() {

  if (isExporting) return;

  isExporting = true;

  // ...原有邏輯...

  isExporting = false;

}?

  1. 性能監(jiān)控(適用于超大數(shù)據(jù)量):

console.time('導出耗時');

// ...導出邏輯...

console.timeEnd('導出耗時'); ?

如果需要保留表格的復雜結構(如合并單元格),可以使用以下增強代碼:

// 替換數(shù)據(jù)合并部分

Array.from(tables).forEach(table => {

  const tempWs = XLSX.utils.table_to_sheet(table);

  XLSX.utils.sheet_add_sheet(ws, tempWs, {

    origin: { r: currentRow, c: 0 },

    // 保留合并信息

    cellStyles: true,

    mergedCells: true

  });

  currentRow += (tempWs['!ref'] ? XLSX.utils.decode_range(tempWs['!ref']).e.r : 0) + 1;

});


該文章在 2025/5/27 18:44:01 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業(yè)務管理,結合碼頭的業(yè)務特點,圍繞調度、堆場作業(yè)而開發(fā)的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

久久一区九一亚洲| 亚洲高清成人AV不卡一区二区三区| 性感美女麻豆AV| 人妻精品久久久久中文字幕| 欧美强奸第五十页| 亚洲午夜精品电影| 日本新一区免v| 亚洲 中文 字幕 久久| 欧美狂插无码| 88久久综合久久88| 国产精品免费视频app| 啪啪啪亚洲日本| 狠狠久久久久| 无码人妻色欲一区二区三区| 欧美日韩图片欧美亚洲日韩图片| 91日本韩国高清视频| 国产精品女人久久久| 免费看av一区二区三区驾照| 就是色国产欧美| 日韩第四综合在线| 国产18一19sex性护士| 亚洲综合婷久久久久| 泰国人妻精品一区| 青青草资源在线网站| 成人精品香蕉爽爽| 国产精品99久久久久久大便| 天天操天天爱天天爽天天干| 国产porn自由| 亚洲福利院AV在线| 日韩久久丫精品视频| 超碰caoporn国内| 一区二区三区四区卡人妻| 欧美日韩视频12| 香蕉视频成人视频在线观看| 午夜福利吧啪| 天堂在钱亚洲精品| 色趣吧一区二区| 日本熟妇野外操逼| 欧美日韩偷拍盗摄不卡一二区| 日韩久久这里只有精品| 天天激情综合天天插天天干天天射|