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

网站百度权重查询网站单子

网站百度权重查询,网站单子,专门做进口产品的网站,网站备案备注信息背景 有这样一个场景#xff1a;前端下载Excel模板#xff0c;进行数据导入#xff0c;这个下载模板过程需要经过后端接口去数据库查询数据进行某些列的下拉数据填充#xff0c;下拉填充的数据过程中会出现错误String literals in formulas can’t be bigger than 255 cha…背景 有这样一个场景前端下载Excel模板进行数据导入这个下载模板过程需要经过后端接口去数据库查询数据进行某些列的下拉数据填充下拉填充的数据过程中会出现错误String literals in formulas can’t be bigger than 255 characters ASCII超过字符限制。 那么如何解决 解决方案 引入隐藏区域方式比如 可以创建一个隐藏Sheet专门存储该下拉填充数据需要使用到的地方进行引用该Sheet区域范围内容。 实现过程 下载接口 ApiOperation(value 下载EXCEL文件模板, produces MediaType.APPLICATION_OCTET_STREAM_VALUE)GetMapping(/download/{bizType})public void downloadExcel(HttpServletResponse response, PathVariable(bizType) String bizType) throws IOException {if (Arrays.stream(AliYunOssBizTypeEnum.values()).noneMatch(x - x.getCode().equals(bizType))) {throw new RuntimeException(类型有误!);}String fileName bizType .xls;InputStream inputStream aliYunOssService.download(template/ fileName);if (inputStream null) {throw new RuntimeException(获取阿里云文件模板失败请检查是否上传到阿里云OSS);}HSSFWorkbook wb new HSSFWorkbook(inputStream);Sheet sheet wb.getSheetAt(0);ExcelAbstractHandler handler ExcelHandlerFactory.getHandler(bizType);if (Objects.nonNull(handler)) {// 3. 创建隐藏工作表存储选项Sheet hiddenSheet wb.createSheet(HiddenSheet);wb.setSheetHidden(wb.getSheetIndex(hiddenSheet), true); // 隐藏工作表handler.handle(hiddenSheet, sheet, bizType);}ServletOutputStream output response.getOutputStream();response.setContentType(application/vnd.ms-excel);String desc Arrays.stream(AliYunOssBizTypeEnum.values()).filter(x - x.getCode().equals(bizType)).findFirst().get().getDesc();fileName URLEncoder.encode(desc, UTF-8);response.setHeader(Content-Disposition, attachment;filename fileName);wb.write(output);output.flush();output.close();wb.close();}抽象处理器 public abstract class ExcelAbstractHandler {public abstract void handle(Sheet hiddenSheet, Sheet sheet, String bizType);protected void buildDropdownData(Sheet mainSheet, ListString list, int col, String referenceRange) {if (CollectionUtil.isEmpty(list)) {return;}DataValidationHelper dvHelper mainSheet.getDataValidationHelper();DataValidationConstraint dvConstraint dvHelper.createFormulaListConstraint(referenceRange);CellRangeAddressList addressList new CellRangeAddressList(1, 2000, col, col);DataValidation validation dvHelper.createValidation(dvConstraint, addressList);mainSheet.addValidationData(validation);} } 处理工厂类 public class ExcelHandlerFactory {private static final MapString, ExcelAbstractHandler handlerMap new ConcurrentHashMap();public static ExcelAbstractHandler getHandler(String type) {return handlerMap.get(type);}public static void register(String type, ExcelAbstractHandler handler) {Assert.notNull(type, type cant be null);handlerMap.put(type, handler);} } 产品标准价格模板 Component Slf4j RequiredArgsConstructor public class ExcelProductPlatformPriceHandler extends ExcelAbstractHandler implements InitializingBean {private final BusinessBaseCountryMapper businessBaseCountryMapper;private final BusinessBaseShopPlatformMapper businessBaseShopPlatformMapper;Overridepublic void afterPropertiesSet() throws Exception {ExcelHandlerFactory.register(AliYunOssBizTypeEnum.PRODUCT_PLATFORM_PRICE.getCode(), this);}Overridepublic void handle(Sheet hiddenSheet, Sheet sheet, String bizType) {// 1.平台数据ListBusinessBaseShopPlatform platforms businessBaseShopPlatformMapper.selectList(Wrappers.lambdaQuery());ListString platformList platforms.stream().map(BusinessBaseShopPlatform::getPlatformName).collect(Collectors.toList());// 写入选项到隐藏工作表逐行填充for (int i 0; i platformList.size(); i) {Row row hiddenSheet.createRow(i);Cell cell row.createCell(0);cell.setCellValue(platformList.get(i));}// 定义引用区域例如Hidden!A1:A100String referenceRange hiddenSheet.getSheetName() !$A$1:$A$ platformList.size();buildDropdownData( sheet, platformList, 1, referenceRange);// 2.国家数据ListBusinessBaseCountry countries businessBaseCountryMapper.selectList(Wrappers.lambdaQuery());ListString countryList countries.stream().map(BusinessBaseCountry::getCountryName).collect(Collectors.toList());// 写入选项到隐藏工作表逐行填充int preCount platformList.size();for (int i preCount; i (preCount countryList.size()); i) {Row row hiddenSheet.createRow(i);Cell cell row.createCell(0);cell.setCellValue(countryList.get(i - preCount));}// 定义引用区域例如Hidden!A1:A100referenceRange hiddenSheet.getSheetName() !$A$ (preCount 1) :$A$ (preCount countryList.size());buildDropdownData(sheet, countryList, 2 , referenceRange);} } 最后 以上是一个简单操作下载导出模板并填充数据后下载模板接口经供参考
http://www.pierceye.com/news/773428/

相关文章:

  • 校园二手交易网站设计的原则群辉搭wordpress
  • 无锡网站建设网页制作seo网站优化培训要多少钱
  • 一个人可以做几个网站seo页面检测
  • 在哪里可以找到做网站的公司wordpress下拉
  • 企业网站更新什么内容网站设计怎么保持风格一致
  • 网页设计作业网站素材和效果图网站开发和网络安全
  • 开发一个彩票网站多少钱怎么为一个网站做外链
  • 一家专门做动漫的网站怎么查企业注册信息
  • 中太建设集团官方网站微信网页链接怎么制作
  • 做家政网上推广网站长沙网站建设有哪些
  • 西安网站建设 招聘西安是哪个省属于哪个市
  • 灯饰网站开发中国十大门窗品牌
  • 移动网站开发认证基层建设被哪些网站全文收录
  • 中国电子商务网站小吃网站建设
  • 用什么语言能写网站吗装修公司招聘网站
  • 触摸网站手机软件开发公司赚钱吗
  • 刘家窑网站建设公司网店装修模板
  • 旅游网站国内外研究现状微信模板素材
  • 查一下红之易道学做的什么网站全国大型网站建设
  • 网站页面可以用什么框架做wordpress 自动 图片大小
  • 百度小程序可以根据网站的要求做吗网站建设评分细则
  • 团购模板网站廉洁长沙网站
  • 湖州建设网站制作多多进宝cms网站建设
  • 自己做网站有哪些方法呢深圳网站设计张兵
  • 网站开发技术的选择wordpress 标签 中文
  • 建设速干裤移动网站公司logo注册
  • 中山网站建设找阿江欢迎页网页设计作品欣赏
  • seo是东莞企业网站排seo网站制作与管理技术...
  • 哪里有建设好的网站做网站用哪个预装系统
  • h5技术建设网站的知识wordpress+主题+欣赏