try: sheetjs讀取excel內容

test & try

by cactus77kiki

HTML

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
  <script src="https://unpkg.com/[email protected]"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.18.2/xlsx.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/2.0.0/FileSaver.min.js"></script>
  
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
</head>
<body>
  <div id="vapp">
    <input type="file" @change="processupload">
  </div>
  <script>
    function readxlsx(file){
      var reader = new FileReader();  
      reader.onload = function(e) {
        var data = e.target.result;
        workbook = XLSX.read(data, {type: 'binary' });
        var sheet_name_first = workbook.SheetNames[0];
        var worksheet = workbook.Sheets[sheet_name_first];  
        //---讀取worksheet內特定cell值
        //ref:https://stackoverflow.com/questions/48816940/accessing-cells-with-sheetjs
        console.log(worksheet['E4'].v);
        console.log(worksheet['D6'].v);
        
        //---讀取worksheet內特定range值;s=start,e=end;c=column,r=row,起始值皆為0
        //ref:https://stackoverflow.com/questions/30383525/defining-a-js-xlsx-cell-range
        //var range = { s: { c: 0, r: 0 }, e: { c: 0, r: 4 } };//A1:A5
        var range = { s: { c: 3, r: 2 }, e: { c: 5, r: 4 } };//D3:F5
        var dataRange = [];
        /* Iterate through each element in the structure */
        for (var R = range.s.r; R <= range.e.r; ++R) {
          for (var C = range.s.c; C <= range.e.c; ++C) {
            var cell_address = { c: C, r: R };
            var data = XLSX.utils.encode_cell(cell_address);
            dataRange.push(worksheet[data]);            
          }
        }
        //console.log(dataRange);
        //測試套用公式後取得之值
        var sheet_name_second =...