TypeScript 无法加载/使用 table2excel
TypeScript unable to load / use table2excel
我在 SharePoint Online 的 TypeScript Web 部件中使用这个 plugin
我在脚本中包含了 jquery
和 table2excel
,与 table2excel
无关的所有内容都运行良好。
import * as $ from 'jquery';
require('table2excel');
我已经使用 npm i table2excel
安装了 'table2excel'
然后当我尝试使用 table2excel
它时 returns 出现以下错误:
```
$(...).table2excel is not a function
```
(<any>$("#ViewTablehidden")).table2excel({
exclude: ".noExl",
name: "title",
filename: "title",
fileext: ".xls",
exclude_img: true,
exclude_links: true,
exclude_inputs: true
});
为什么我不能让它工作?
你拉错包了。您需要使用 jquery-table2excel
而不是 table2excel
。
NPM 包似乎超时了。该包可通过 Bower(您可以将其作为导入引用)获得,或者您可以 link 直接访问 CDN 资产。这里有一个 example 向您展示直接从 URL 导入。
$('#download').on('click', function(){
$(".table2excel").table2excel({
exclude: ".noExl",
name: "Excel Document Name",
filename: "myExcelFile.xls",
fileext: ".xls",
exclude_img: true,
exclude_links: true,
exclude_inputs: true
});
});
body {
font-family: Arial;
margin: 0;
padding: 0;
}
table {
border-collapse: collapse;
}
table thead tr th {
background: #f0f0f0;
border-bottom: 2px solid #ddd;
}
table th,
table td {
padding: 5px;
}
button {
background: navy;
color: white;
}
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<script src="//cdn.rawgit.com/rainabba/jquery-table2excel/1.1.0/dist/jquery.table2excel.min.js"></script>
<table class="table2excel" data-tableName="Test Table 1">
<thead>
<tr class="noExl"><th>This shouldn't get exported</th><th>This shouldn't get exported either</th></tr>
<tr><th>This Should get exported as a header</th><th>This should too</th></tr>
</thead>
<tbody>
<tr>
<td>data1a with a <a href="#">link one</a> and <a href="#">link two</a>.</td>
<td>data1b with a <img src="image_file.jpg" alt="image">.</td></tr>
<tr>
<td>data2a with a <input tyle="text" value="text value">.</td>
<td>data2b with a <input tyle="text" value="second text value">.</td>
</tr>
</tbody>
<tfoot>
<tr><td colspan="2">This footer spans 2 cells</td></tr>
</tfoot>
</table>
<table class="table2excel" data-tableName="Test Table 2">
<thead>
<tr class="noExl"><td>This shouldn't get exported</td><td>This shouldn't get exported either</td></tr>
<tr><td>This Should get exported as a header</td><td>This should too</td></tr>
</thead>
<tbody>
<tr><td>data1a</td><td>data1b</td></tr>
<tr><td>data2a</td><td>data2b</td></tr>
</tbody>
<tfoot>
<tr><td colspan="2">This footer spans 2 cells</td></tr>
</tfoot>
</table>
<button id="download">Download</button>
或使用 table2excel
(不是 jQuery 插件)
安装
npm i table2excel --save
使用
import 'table2excel';
const Table2Excel = window.Table2Excel;
const table2excel = new Table2Excel({
exclude: ".noExl",
name: "Excel Document Name",
filename: "myExcelFile",
exclude_img: true,
exclude_links: true,
exclude_inputs: true
});
table2excel.export(document.querySelector('.table2excel'));
我在 SharePoint Online 的 TypeScript Web 部件中使用这个 plugin
我在脚本中包含了 jquery
和 table2excel
,与 table2excel
无关的所有内容都运行良好。
import * as $ from 'jquery';
require('table2excel');
我已经使用 npm i table2excel
然后当我尝试使用 table2excel
它时 returns 出现以下错误:
```
$(...).table2excel is not a function ```
(<any>$("#ViewTablehidden")).table2excel({
exclude: ".noExl",
name: "title",
filename: "title",
fileext: ".xls",
exclude_img: true,
exclude_links: true,
exclude_inputs: true
});
为什么我不能让它工作?
你拉错包了。您需要使用 jquery-table2excel
而不是 table2excel
。
NPM 包似乎超时了。该包可通过 Bower(您可以将其作为导入引用)获得,或者您可以 link 直接访问 CDN 资产。这里有一个 example 向您展示直接从 URL 导入。
$('#download').on('click', function(){
$(".table2excel").table2excel({
exclude: ".noExl",
name: "Excel Document Name",
filename: "myExcelFile.xls",
fileext: ".xls",
exclude_img: true,
exclude_links: true,
exclude_inputs: true
});
});
body {
font-family: Arial;
margin: 0;
padding: 0;
}
table {
border-collapse: collapse;
}
table thead tr th {
background: #f0f0f0;
border-bottom: 2px solid #ddd;
}
table th,
table td {
padding: 5px;
}
button {
background: navy;
color: white;
}
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<script src="//cdn.rawgit.com/rainabba/jquery-table2excel/1.1.0/dist/jquery.table2excel.min.js"></script>
<table class="table2excel" data-tableName="Test Table 1">
<thead>
<tr class="noExl"><th>This shouldn't get exported</th><th>This shouldn't get exported either</th></tr>
<tr><th>This Should get exported as a header</th><th>This should too</th></tr>
</thead>
<tbody>
<tr>
<td>data1a with a <a href="#">link one</a> and <a href="#">link two</a>.</td>
<td>data1b with a <img src="image_file.jpg" alt="image">.</td></tr>
<tr>
<td>data2a with a <input tyle="text" value="text value">.</td>
<td>data2b with a <input tyle="text" value="second text value">.</td>
</tr>
</tbody>
<tfoot>
<tr><td colspan="2">This footer spans 2 cells</td></tr>
</tfoot>
</table>
<table class="table2excel" data-tableName="Test Table 2">
<thead>
<tr class="noExl"><td>This shouldn't get exported</td><td>This shouldn't get exported either</td></tr>
<tr><td>This Should get exported as a header</td><td>This should too</td></tr>
</thead>
<tbody>
<tr><td>data1a</td><td>data1b</td></tr>
<tr><td>data2a</td><td>data2b</td></tr>
</tbody>
<tfoot>
<tr><td colspan="2">This footer spans 2 cells</td></tr>
</tfoot>
</table>
<button id="download">Download</button>
或使用 table2excel
(不是 jQuery 插件)
安装
npm i table2excel --save
使用
import 'table2excel';
const Table2Excel = window.Table2Excel;
const table2excel = new Table2Excel({
exclude: ".noExl",
name: "Excel Document Name",
filename: "myExcelFile",
exclude_img: true,
exclude_links: true,
exclude_inputs: true
});
table2excel.export(document.querySelector('.table2excel'));