• JAVA-easyexcel多sheet页导入


    今天给宝子带来一套多sheet页导入的模板,话不多说直接上代码

    1. String localFilePath = "file.xlsx";
    2. JSONObject jsonObject = JSON.parseObject(file);
    3. String useFile = jsonObject.getString("file");
    4. useFile=useFile.replace("\\\\","/");
    5. System.out.println("222222"+useFile);
    6. if (useFile.startsWith("http")||useFile.startsWith("https")||useFile.startsWith("ftp")){
    7. System.out.println("11111111111111111111");
    8. URL url = new URL(useFile);
    9. // 打开远程文件的输入流
    10. BufferedInputStream inputStream = new BufferedInputStream(url.openStream());
    11. // 创建本地文件的输出流
    12. FileOutputStream outputStream = new FileOutputStream(localFilePath);
    13. // 从输入流读取数据并写入输出流
    14. byte[] buffer = new byte[1024];
    15. int bytesRead;
    16. while ((bytesRead = inputStream.read(buffer, 0, 1024)) != -1) {
    17. outputStream.write(buffer, 0, bytesRead);
    18. }
    19. // 关闭流
    20. inputStream.close();
    21. outputStream.close();
    22. }else {
    23. localFilePath=useFile;
    24. }
    25. EasyExcel.read(localFilePath, CustomerExcel.class,new CustomerExcelListener()).sheet(0).doRead();
    26. EasyExcel.read(localFilePath, CustomerBankExcel.class,new CustomerBankExcelListener()).sheet(0).doRead();
    27. EasyExcel.read(localFilePath, CustomerAddressExcel.class,new CustomerAddressExcelListener()).sheet(0).doRead();
    28. EasyExcel.read(localFilePath, CustomerCreditExcel.class,new CustomerCreditExcelListener()).sheet(0).doRead();
    29. EasyExcel.read(localFilePath, CustomerSaleExcel.class,new CustomerSaleExcelListener()).sheet(0).doRead();
    30. List customers = CustomerExcelListener.list;
    31. List customerBanks = CustomerBankExcelListener.list;
    32. List customerAddresses = CustomerAddressExcelListener.list;
    33. List customerCredits = CustomerCreditExcelListener.list;
    34. List customerSales = CustomerSaleExcelListener.list;
    35. customers.stream().forEach(customer -> {
    36. LambdaQueryWrapper eq = new QueryWrapper().lambda()
    37. .eq(Customer::getCode, customer.getCode());
    38. Customer one = customerService.getOne(eq);
    39. if (one!=null){
    40. BeanUtils.copyProperties(customer,one);
    41. customerService.updateById(one);
    42. }else {
    43. customerService.save(customer);
    44. }
    45. });
    46. customerBanks.stream().forEach(customerBank -> {
    47. LambdaQueryWrapper eq = new QueryWrapper().lambda()
    48. .eq(CustomerBank::getCustomerCode, customerBank.getCustomerCode());
    49. CustomerBank one = customerBankService.getOne(eq);
    50. if (one!=null){
    51. BeanUtils.copyProperties(customerBank,one);
    52. customerBankService.updateById(one);
    53. }else {
    54. customerBankService.save(customerBank);
    55. }
    56. });
    57. customerAddresses.stream().forEach(customerAddress -> {
    58. LambdaQueryWrapper eq = new QueryWrapper().lambda()
    59. .eq(CustomerAddress::getCustomerCode, customerAddress.getCustomerCode());
    60. CustomerAddress one = customerAddressService.getOne(eq);
    61. if (one!=null){
    62. BeanUtils.copyProperties(customerAddress,one);
    63. customerAddressService.updateById(one);
    64. }else {
    65. customerAddressService.save(customerAddress);
    66. }
    67. });
    68. customerCredits.stream().forEach(customerCredit -> {
    69. LambdaQueryWrapper eq = new QueryWrapper().lambda()
    70. .eq(CustomerCredit::getCustomerCode, customerCredit.getCustomerCode());
    71. CustomerCredit one = customerCreditService.getOne(eq);
    72. if (one!=null){
    73. BeanUtils.copyProperties(customerCredit,one);
    74. customerCreditService.updateById(one);
    75. }else {
    76. customerCreditService.save(customerCredit);
    77. }
    78. });
    79. customerSales.stream().forEach(customerSale -> {
    80. LambdaQueryWrapper eq = new QueryWrapper().lambda()
    81. .eq(CustomerSale::getCustomerCode, customerSale.getCustomerCode());
    82. CustomerSale one = customerSaleService.getOne(eq);
    83. if (one!=null){
    84. BeanUtils.copyProperties(customerSale,one);
    85. customerSaleService.updateById(one);
    86. }else {
    87. customerSaleService.save(customerSale);
    88. }
    89. });
    90. customerCredits.clear();
    91. customers.clear();
    92. customerSales.clear();
    93. customerAddresses.clear();
    94. customerBanks.clear();
    95. return JsonResponse.ok();

  • 相关阅读:
    Dubbo——通信框架与通信协议(dubbo协议)原理
    Linux—文件系统与文件目录基本操作
    视频怎么制作动图?分享简单的视频制作gif方法
    三、stm32-USART串口通讯(重定向、接发通信、控制LED亮灭)
    2310d亚当1009
    穿山甲广告平台SDK接入效果怎么样?
    深度学习-神经网络原理-39
    软件工程——名词解释
    VMware centos7虚拟机修改静态IP
    Warning: [antd: Switch] `value` is not a valid prop, do you mean `checked`?
  • 原文地址:https://blog.csdn.net/m0_72960906/article/details/134175219