製品版のみの機能
スプレッドシート - Excel ファイルからデータをインポート
このサンプルでは、igSpreadsheet コントロールで Excel ファイルを読み込んで表示する方法を紹介します。
このサンプルは CTP 機能を使用しています。製品版では、API や動作が変更される場合があります。
- サンプル Excel ファイルのダウンロード
- [ファイルを選択]/[参照...] ボタンをクリックして、サンプル Excel ファイルを選択します。
- Excel コンテンツを編集または編集の無効化
- Excel ファイルをダウンロード
ファイルを選択...
Excel の編集を有効にする
このサンプルは、より大きい画面サイズのためにデザインされました。
モバイル デバイスで画面を回転、フル サイズ表示、またはその他のデバイスにメールで送信します。
File API を使用して、Excel ファイルが Uint8Array オブジェクトに読み込まれ、このオブジェクトが Excel ライブラリに公開される load メソッドに渡されます。ワークブックが取得され、igSpreadsheet コントロールが初期化された後、ワークブックはコントロールのオプションによって表示されます。その後、スプレッドシートのコンテンツを編集して Excel ファイルに保存します。
コード ビュー
クリップボードへコピー
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Import Data From Excel File</title> <!--<meta http-equiv="x-ua-compatible" content="IE=9">--> <link href="http://cdn-na.infragistics.com/igniteui/2024.1/latest/css/themes/infragistics/infragistics.theme.css" rel="stylesheet" /> <link href="http://cdn-na.infragistics.com/igniteui/2024.1/latest/css/structure/infragistics.css" rel="stylesheet" /> <script src="http://ajax.aspnetcdn.com/ajax/modernizr/modernizr-2.8.3.js"></script> <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script> <script src="http://code.jquery.com/ui/1.11.1/jquery-ui.min.js"></script> <!-- Ignite UI for jQuery Required Combined JavaScript Files --> <script src="http://cdn-na.infragistics.com/igniteui/2024.1/latest/js/infragistics.core.js"></script> <script src="http://cdn-na.infragistics.com/igniteui/2024.1/latest/js/infragistics.lob.js"></script> <script src="http://cdn-na.infragistics.com/igniteui/2024.1/latest/js/infragistics.excel-bundled.js"></script> <script src="http://cdn-na.infragistics.com/igniteui/2024.1/latest/js/infragistics.spreadsheet-bundled.js"></script> <!-- saving worksheet --> <script src="https://www.igniteui.com/js/external/FileSaver.js"></script> <style> .ui-igspreadsheet .ui-menu-item { white-space:nowrap; } #sampleContainer ol { padding: 0px 0px 0px 15px; margin: 0; } #sampleContainer ol li{ margin-bottom: 10px; } #sampleContainer ol li:last-of-type { margin: 0; } #result { display: none; color: red; } .spreadsheet-sample-btn { position: relative; float: left; max-width: 200px; padding: 8px; background: #fff; color:#444; text-align: center; border-radius: 3px; font-size: 12px; text-transform: uppercase; margin:15px 15px 15px 0; border:1px solid #ccc; overflow:hidden; } .spreadsheet-sample-btn:hover { border-color:#09f; } #input { top:0; left:0; width: 100%; height: 100%; opacity: 0; overflow: hidden; position: absolute; z-index: 1; } .clear { clear: both; } #saveWorkbookBtn { padding: 7px; } .editing-controls-container { position: relative; min-width: 200px; float: left; margin: 15px; } .editing-controls-container #enableEditing { margin-right: 6px; border-radius: 3px; position: absolute; left: 0; top: 10px; } .label-editing { display:inline-block; position: absolute; left: 23px; top: 15px; } </style> </head> <body> <div> <ol> <li>サンプル <a href="/HtmlSamples/javascript-excel-library/report.xlsx" download>Excel ファイルのダウンロード</a></li> <li>[ファイルを選択]/[参照...] ボタンをクリックして、サンプル Excel ファイルを選択します。</li> <li>Excel コンテンツを編集または編集の無効化</li> <li>Excel ファイルをダウンロード</li> </ol> <div class="spreadsheet-sample-btn"> <input type="file" id="input" accept="application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" /> <span> ファイルを選択... </span> </div> <div> <input class="spreadsheet-sample-btn" id="saveWorkbookBtn" type="button" value="ワークブックを保存" onclick="saveWorkbook()"> </div> <div class="editing-controls-container"> <span for="enableEditing" class="show-row-text"> <div id="enableEditing"></div> <span class="label-editing">Excel の編集を有効にする</span> </span> </div> <div class="clear"></div> <div id="result"></div> <div id="spreadsheet"></div> </div> <script> $(function () { var editingEnabled = true; $("#spreadsheet").igSpreadsheet({ height: "600", width: "100%", isFormulaBarVisible: true, editModeEntering: function (e, args) { return editingEnabled; } }); $("#enableEditing").igCheckboxEditor({ checked: true, valueChanged: function (evt, ui) { editingEnabled = ui.newState; } }); //Check for Browser's - File API support if (window.FileReader) { $("#input").on("change", function () { var excelFile, fileReader = new FileReader(); $("#result").hide(); fileReader.onload = function (e) { var buffer = new Uint8Array(fileReader.result); $.ig.excel.Workbook.load(buffer, function () { workbook = arguments[0]; setWorkbook(); }, function (error) { $("#result").text("Excel ファイルは破損しています。"); $("#result").show(1000); }); } if (this.files.length > 0) { excelFile = this.files[0]; if (excelFile.type === "application/vnd.ms-excel" || excelFile.type === "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" || (excelFile.type === "" && (excelFile.name.endsWith("xls") || excelFile.name.endsWith("xlsx")))) { fileReader.readAsArrayBuffer(excelFile); } else { $("#result").text("選択のファイル形式がサポートされていません。有効な Excel ファイルを選択してください ('.xls, *.xlsx')。"); $("#result").show(1000); } } }) } else { $("#result").text("File API はこのブラウザーで完全にはサポートされていません。"); $("#result").show(1000); } }); function setWorkbook() { if ($("#spreadsheet").igSpreadsheet !== undefined && workbook != null) { //load specific workbook $("#spreadsheet").igSpreadsheet("option", "workbook", workbook); } } function saveWorkbook(workbook, name) { $("#spreadsheet").igSpreadsheet("option", "workbook") .save({ type: 'blob' }, function (data) { saveAs(data, name); }, function (error) { alert('Error exporting: : ' + error); }); } </script> </body> </html>