javascript - 错误:无效的 HTML:在 xlsx 反应组件中找不到import React, { Component } from 'react';
import XLSX from 'xlsx';
import CsvViewer from './csv-viewer';
class XlsxViewer extends Component {
constructor(props) {
super(props);
this.state = this.pars
问题描述
import React, { Component } from 'react';
import XLSX from 'xlsx';
import CsvViewer from './csv-viewer';
class XlsxViewer extends Component {
constructor(props) {
super(props);
this.state = this.parse();
}
parse() {
const dataArr = new Uint8Array(this.props.data);
const arr = [];
for (let i = 0; i !== dataArr.length; i += 1) {
arr.push(String.fromCharCode(dataArr[i]));
}
const workbook = XLSX.read(arr.join(''), { type: 'binary' });
const names = Object.keys(workbook.Sheets);
const sheets = names.map(name => (
XLSX.utils.sheet_to_csv(workbook.Sheets[name])
));
return { sheets, names, curSheetIndex: 0 };
}
renderSheetNames(names) {
const sheets = names.map((name, index) => (
<input
key={name}
type="button"
value={name}
onClick={() => {
this.setState({ curSheetIndex: index });
}}
/>
));
return (
<div className="sheet-names">
{sheets}
</div>
);
}
renderSheetData(sheet) {
const csvProps = Object.assign({}, this.props, { data: sheet });
return (
<CsvViewer {...csvProps} />
);
}
render() {
const { sheets, names, curSheetIndex } = this.state;
return (
<div className="spreadsheet-viewer">
{this.renderSheetNames(names)}
{this.renderSheetData(sheets[curSheetIndex || 0])}
</div>
);
} }
导出默认 XlsxViewer;
我正在尝试加载 Xlsx 文件我收到错误“./src/components/Fileviewer/images/SimpleSpreadsheet.xlsx 模块构建失败(来自(webpack)-xlsx-loader/index.js):错误:无效的 HTML:可以找不到 ”
上述错误出现较早,这是由于我已安装和配置的 webpack-xslx-loader 但未更改错误
您可以创建一个TreeMap
而不是Hashmap
.
将员工 id 作为 TreeMap 中的键,将员工对象作为值。(因为您想根据员工 id 进行排序,而员工 id 对于您的上下文来说似乎是唯一的。)
TreeMap<Integer, EmpObj> map = new TreeMap<>();
如果您无法更改地图 ID,则可以按值对哈希图进行排序。请参阅此链接。
解决方案
推荐阅读
- python - 为 Python 导入 PNG 文件时出现“FileNotFoundError”
- python - 如何通过合并函数在 Python 中实现多线程/多处理
- routes - 无法让多个“之前”约束起作用
- excel - Excel 2019 中的条件格式
- c# - 子窗口的关闭框隐藏在父级的 MenuStrip 后面(C# .Net 5.0)
- c++ - Searching using unordered map vs array
- php - 如何从 Laravel 中的 rest API 的响应中对用户进行身份验证?
- python - 表单内的 Bootstrap4 默认值
- c++ - 如何深度复制向量指针的值(不仅仅是指针)?
- java - 我们可以通过java中的临时变量调用静态方法吗
import React, { Component } from 'react';
import XLSX from 'xlsx';
import CsvViewer from './csv-viewer';
class XlsxViewer extends Component {
constructor(props) {
super(props);
this.state = this.pars
问题描述
import React, { Component } from 'react';
import XLSX from 'xlsx';
import CsvViewer from './csv-viewer';
class XlsxViewer extends Component {
constructor(props) {
super(props);
this.state = this.parse();
}
parse() {
const dataArr = new Uint8Array(this.props.data);
const arr = [];
for (let i = 0; i !== dataArr.length; i += 1) {
arr.push(String.fromCharCode(dataArr[i]));
}
const workbook = XLSX.read(arr.join(''), { type: 'binary' });
const names = Object.keys(workbook.Sheets);
const sheets = names.map(name => (
XLSX.utils.sheet_to_csv(workbook.Sheets[name])
));
return { sheets, names, curSheetIndex: 0 };
}
renderSheetNames(names) {
const sheets = names.map((name, index) => (
<input
key={name}
type="button"
value={name}
onClick={() => {
this.setState({ curSheetIndex: index });
}}
/>
));
return (
<div className="sheet-names">
{sheets}
</div>
);
}
renderSheetData(sheet) {
const csvProps = Object.assign({}, this.props, { data: sheet });
return (
<CsvViewer {...csvProps} />
);
}
render() {
const { sheets, names, curSheetIndex } = this.state;
return (
<div className="spreadsheet-viewer">
{this.renderSheetNames(names)}
{this.renderSheetData(sheets[curSheetIndex || 0])}
</div>
);
} }
导出默认 XlsxViewer;
我正在尝试加载 Xlsx 文件我收到错误“./src/components/Fileviewer/images/SimpleSpreadsheet.xlsx 模块构建失败(来自(webpack)-xlsx-loader/index.js):错误:无效的 HTML:可以找不到 ”
上述错误出现较早,这是由于我已安装和配置的 webpack-xslx-loader 但未更改错误
您可以创建一个TreeMap
而不是Hashmap
.
将员工 id 作为 TreeMap 中的键,将员工对象作为值。(因为您想根据员工 id 进行排序,而员工 id 对于您的上下文来说似乎是唯一的。)
TreeMap<Integer, EmpObj> map = new TreeMap<>();
如果您无法更改地图 ID,则可以按值对哈希图进行排序。请参阅此链接。