当前位置: 首页 > news >正文

高端网站制作价格a5创业网站建设

高端网站制作价格,a5创业网站建设,前端开发基础知识,网站建设哪家公司好一点使用easyexcel可以将csv格式的文件转为.xlsx文件,但是csv中有很多数字,比如:"123","12.34","-111",默认情况下会将其作为字符串写入.xlsx文件,就如同下面一样,字符类型的数字…

        使用easyexcel可以将csv格式的文件转为.xlsx文件,但是csv中有很多数字,比如:"123","12.34","-111",默认情况下会将其作为字符串写入.xlsx文件,就如同下面一样,字符类型的数字无法直接在excel中做统计和计算,因此需要将其写入excel时转为数字存储。

        我们可以使用自定义转换器识别每个单元格中的内容是否是数字,然后将其转为数值类型。

1.csv转为excel程序

@Async("asyncExcelAnalysisServiceExecutor")public Future<String> csv2Excel(InputStream inputStream, OutputStream outputStream, String sheetName) {try {ExcelWriter writer = EasyExcel.write(outputStream).excelType(ExcelTypeEnum.XLSX)//注册写入时类型转换器.registerConverter(new BigDecimalConvert()).build();EasyExcel.read(inputStream, new EasyExcelGeneralCsvListener(writer, new WriteSheet())).excelType(ExcelTypeEnum.CSV).charset(Charset.forName("UTF-8")).sheet().sheetNo(0).sheetName(sheetName).doRead();writer.finish();outputStream.flush();} catch (Exception e) {log.error("ExcelWriter.finish() -> csv转为excel出错!", e.getMessage());e.printStackTrace();} catch (Error x) {log.error("ExcelWriter.finish() -> csv转为excel出错!", x.getMessage());x.printStackTrace();} catch (Throwable x) {log.error("ExcelWriter.finish() -> csv转为excel出错!", x.getMessage());x.printStackTrace();} finally {if (outputStream != null) {try {outputStream.close();} catch (Exception e) {log.error("outputStream.close() -> csv转为excel出错!", e.getMessage());e.printStackTrace();}}if (inputStream != null) {try {inputStream.close();} catch (Exception e) {log.error("inputStream.close() -> csv转为excel出错!", e.getMessage());e.printStackTrace();}}}return new AsyncResult<>("success");}

 2.自定义类型转换器

import java.math.BigDecimal;import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.data.ReadCellData;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
import com.xxx.xxx.common.utils.ObjectUtil;/*** description:BigDecimalConvert** @author: lgq* @create: 2024-06-04 09:22*/
public class BigDecimalConvert  implements Converter<String> {/*** 支持的Java类型** @return*/@Overridepublic Class supportJavaTypeKey() {return String.class;}/*** 支持的excel类型** @return*/@Overridepublic CellDataTypeEnum supportExcelTypeKey() {return CellDataTypeEnum.STRING;}/*** 转换Java支持的类型** @param cellData* @param excelContentProperty* @param globalConfiguration* @return* @throws Exception*/@Overridepublic String convertToJavaData(ReadCellData cellData, ExcelContentProperty excelContentProperty,GlobalConfiguration globalConfiguration) throws Exception {return cellData.getStringValue();}/*** 转换为Excel支持的类型** @param s* @param excelContentProperty* @param globalConfiguration* @return* @throws Exception*/@Overridepublic WriteCellData convertToExcelData(String s, ExcelContentProperty excelContentProperty,GlobalConfiguration globalConfiguration) throws Exception {String convertS = convertBigDecimal(s);if (!ObjectUtil.isEmpty(convertS)) {BigDecimal bigDecimal = new BigDecimal(convertS);return new WriteCellData(bigDecimal);} else {return new WriteCellData(s);}}public static String convertBigDecimal(String str) {if (str == null || str.trim().length() == 0) {return null;}StringBuilder convertS = new StringBuilder();char[] chars = str.toCharArray();int sz = chars.length;int i = (chars[0] == '-') ? 1 : 0;if (i == sz) {return null;}//除了负号,第一位不能为'小数点'if (chars[i] == '.') {return null;}boolean radixPoint = false;for (; i < sz; i++) {boolean isComma = false;if (chars[i] == '.') {if (radixPoint) {return null;}radixPoint = true;} else if (!(chars[i] >= '0' && chars[i] <= '9') && !(isComma = (",".equals(String.valueOf(chars[i]))))) {return null;}//删除数字中间的英文逗号if (!isComma) {convertS.append(chars[i]);}}return convertS.toString();}
}

3.实现效果

http://www.yayakq.cn/news/677783/

相关文章:

  • led高端网站建设校园网站建设的重要性
  • 网站开发和前端开发琼山网站制作
  • 网站备案 更改ip怎样申请注册公司网站
  • 深圳免费网站建设网址大全名称
  • wordpress搬站换空间龙岩天宫山缆车多少钱
  • 好看网电影网站模板wordpress后台入口
  • 做网站建设销售辛苦吗免费咨询律师不收费
  • 企业网站的建设目的新素材网站
  • 外贸类网站天津网站建设培训班
  • 购物网站建设机构wordpress文艺主题
  • 深圳服务网站设计哪家公司好站长工具官网
  • 网站后台编码盐城网站建设效果
  • 手机优化大师下载seo排名优化技术
  • 黔西南州建设局网站更改网站建设报价
  • 企业网站做备案广州比较好的网站建设企业
  • 广州网站建设业务wordpress搜索文章内容
  • 江西城开建设集团有限公司网站设计公司企业网站
  • 中科诚建建设工程有限公司网站营销型网站建设沈阳
  • 国外网站案例拓者设计吧官方网站
  • 校园网站建设网烟台网站制作网站
  • 中文门户网站有哪些潍坊做电商的网站建设
  • 网站建设公司的税是多少钱yy直播下载
  • 宁波网站制作公司哪家好如何做 网站映射
  • 备案网站名怎样制作网页视频
  • 网站建设员是做什么的网站制作公司去哪找
  • 亚洲网站建设中湖南省建设厅易小林
  • 网站手机版怎么制作网站建设公司墨子网络
  • 专业建站公司的业务内容有哪些外贸做那种网站
  • 建设内网网站流程做网站 使用权 所有权
  • 建网站做淘宝客著名网站建设