Angularjs 1.5 如何使用angularJS1、hibernate(4.3.5)、Spring(4.2.4)将Excel文件导入数据库?

Angularjs 1.5 如何使用angularJS1、hibernate(4.3.5)、Spring(4.2.4)将Excel文件导入数据库?,angularjs-1.5,Angularjs 1.5,我想使用angularJS1、Hibernate4.3.5、SpringMVC4.2.4将Excel文件导入数据库。Excel文件是通过一个窗口表导入的,该窗口表由子项姓氏、名和父项组成,该表是在手动填写之前填写的。现在的目标是通过导入Excel文件自动填充表格。我可以读取google json格式的Excel文件,但无法将其导入数据库。该项目由前面的angularJS1和后面的hibernate、postgresSQL、DAO组成。你能帮我吗?从星期四开始,我一直在寻求解决办法。多谢各位 以下

我想使用angularJS1、Hibernate4.3.5、SpringMVC4.2.4将Excel文件导入数据库。Excel文件是通过一个窗口表导入的,该窗口表由子项姓氏、名和父项组成,该表是在手动填写之前填写的。现在的目标是通过导入Excel文件自动填充表格。我可以读取google json格式的Excel文件,但无法将其导入数据库。该项目由前面的angularJS1和后面的hibernate、postgresSQL、DAO组成。你能帮我吗?从星期四开始,我一直在寻求解决办法。多谢各位

以下是读取json格式的excel文件的代码:文件:。。。Controller.js前端

$scope.uploadFile = function (element) {
var file = element.files[0];
console.log("FILE", file);
var reader = new FileReader();
    reader.onload = function (event) {
        var data = event.target.result;
        /*Call XLSX*/
        var workbook = XLSX.read(data, {
            type: 'binary'
        });
        /* DO SOMETHING WITH workbook HERE */
        var first_sheet_name = workbook.SheetNames[0];
        /* Get worksheet */
        var worksheet = workbook.Sheets[first_sheet_name];
        var excelData = XLSX.utils.sheet_to_json(worksheet);
        console.log("EXCELDATA", excelData);
    }
}

不要试图在前端读取Excel,只需将Excel上传到服务器即可。通过JS读取Excel将在浏览器中消耗大量内存

在Java方面,读/写Excel非常容易,您只需要 对于Excel阅读参考:


完成excel读取后,您可以将所需数据传递到hibernate以存储在DB中。

我必须读取前面的excel文件,因为是用户通过上传界面导入excel文件来更新表中的数据。

下面是为您创建的示例代码笔示例

角度。模块'app',[] .controller'ExcelReadCtrl',函数$scope{ $scope.data=[{firstName:'AAA',lastName:'BBB',age:30}]; $scope.READ=函数{ /*检查文件是否为有效的excel文件*/ var regex=/^[a-zA-Z0-9\s\\\.\-:]+.xlsx |.xls$/; var xlsxflag=false;/*用于检查excel是.xls格式还是.xlsx格式的标志*/ 如果$ngexcelfile.val.toLowerCase.indexOf.xlsx>0{ xlsxflag=true; } var reader=新文件读取器; reader.onload=函数e{ var数据=e.target.result; 如果xlsxflag{ var workbook=XLSX.readdata,{type:'binary'}; } 否则{ var workbook=XLS.readdata,{type:'binary'}; } var sheet_name_list=workbook.SheetNames; var-cnt=0; sheet_name_list.foreachy函数{/*遍历所有工作表*/ 如果xlsxflag{ var exceljson=XLSX.utils.sheet_to_jsonworkbook.Sheets[y]; } 否则{ var exceljson=XLS.utils.sheet_to_row_object_arrayworkbook.Sheets[y]; } 如果exceljson.length>0{ 对于变量i=0;i我必须阅读前面的excel文件,因为是用户通过上传界面导入excel文件来更新表中的数据。