前提・実現したいこと
javascriptでExcelを操作するときに、画像貼付を行う方法を知りたいです。
Webアプリ(環境はASP.NET MVCを利用)のフロントエンド側(javascript等)でExcel処理を完結できないか検討してます。
試したことの方法に追加すればできるのか、無料のライブラリでできるのかわからなく。
有料のライブラリでは
・SheetJS のプロ版
・Ignite UI for jQuery
などがあるようなのですが、有料の方法は使えないことと、他に何か方法があるのではないかと思い探してはいますが。
ご教授をお願いします。
試したこと
SheetJSで配列データをExcel出力できるところまで試しました。
参考URL https://techacademy.jp/magazine/21073
使用javascriptライブラリ: SheetJS, FileSaver
javascript
1<script language="javascript" type="text/javascript"> 2 var array1 = [ 3 ["apple", "banana", "cherry"], 4 [1, 2, 3] 5 ]; 6 7 var write_opts = { 8 type: 'binary' 9 }; 10 11 var wb = aoa_to_workbook(array1); 12 var wb_out = XLSX.write(wb, write_opts); 13 var blob = new Blob([s2ab(wb_out)], { type: 'application/octet-stream' }); 14 15 saveAs(blob, 'myExcelFile.xlsx'); 16 17 function aoa_to_workbook(data, opts) { 18 return sheet_to_workbook(XLSX.utils.aoa_to_sheet(data, opts), opts); 19 } 20 21 function sheet_to_workbook(sheet, opts) { 22 var n = opts && opts.sheet ? opts.sheet : "Sheet1"; 23 var sheets = {}; 24 sheets[n] = sheet; 25 return { SheetNames: [n], Sheets: sheets }; 26 } 27 28 function s2ab(s) { 29 var buf = new ArrayBuffer(s.length); 30 var view = new Uint8Array(buf); 31 for (var i = 0; i != s.length; ++i) { 32 view[i] = s.charCodeAt(i) & 0xFF; 33 } 34 return buf; 35 } 36} 37</script>
補足情報(FW/ツールのバージョンなど)
C#、ASP.NET MVC5
あなたの回答
tips
プレビュー