java将数据生成csv文件
1,httpRequest接口触发进程[或者可以换成其他方式触发]
/** * 出入库生成CSV文件 * @param req * @param params * @return */@RequestMapping(value = "explanCsvFileToOrder")ResponseMessage explanCsvFileToOrder(HttpServletRequest req, @RequestParam Map<String, String> params) { TtxSession sess = getSession(req, params.customer) ResponseMessage rsp rsp = validate(sess, params) if (!rsp.hasError()) { rsp = excfSvc.explanCsvToShipAndRece(sess,params.warehouseCode) } return rsp}
/** * scheduler_SHIPANDRECE * @param sess * @param warehouseCode * @return */ ResponseMessage explanCsvToShipAndRece(TtxSession sess, String warehouseCode) { ResponseMessage rsp = ResponseMessageFactory.success(sess, null) try { //读取全局大文档,找到数据执行的SQL List invSQLS = template(sess).queryForList("select textValue from large_text where warehouseCode='*' and type='CSV_FILE_SQL' and code='CSV_SHIPANDRECE'") if (!invSQLS) { return ResponseMessageFactory.error(sess, "未查询到单据条件SQL") } //找到存储路径 List filePath = template(sess).queryForList("select value from config_value where warehouseCode=? and identifier='CSVFILEPATH'", warehouseCode)// String path = "c:/export/" if (!filePath) { return ResponseMessageFactory.error(sess, "未查询到存储路径") } //定义文件存储路径 String path = filePath[0]["value"].toString() //定义命名格式 String fileName = "OrderData-" + LocalDateTime.now().format(dtf) String invSql = invSQLS[0]["textValue"].toString() //查询出来数据 List locInv = template(sess).queryForList(invSql) List<Object> exportData = new ArrayList<Object>() //给csv文件添加标题 exportData.add("DHLWarehouseNo") exportData.add("StorageNo") exportData.add("RelatedOrderNo") exportData.add("ActualWarehouseTime") exportData.add("SpareColumn1") exportData.add("SpareColumn2") exportData.add("LoadNo") exportData.add("InventoriesAmount") exportData.add("MaterialExpiryDate") exportData.add("Department") exportData.add("MaterialState") List<List<Object>> datalist = new ArrayList<List<Object>>() List<Object> data //循环添加数据主体 locInv?.each { data = new ArrayList<Object>() data.add(it.CODE) data.add(it.WarehouseNo) data.add(it.deliveryNo) data.add(it.lastUpdated) data.add(it.SpareColumn1) data.add(null) data.add(it.skuCode) data.add(it.quantity) data.add(it.materialExpiryDate) data.add(it.department) data.add(it.inventorySts) datalist.add(data) } //创建文件 File file = this.createCSVFile(exportData, datalist, path, fileName) String fileName2 = file.getName() System.out.println("文件名称:" + fileName2) } catch (Throwable t) { ExceptionManager.logException(sess, t) return ResponseMessageFactory.error(sess, WmsMessages.MSG_GNRL_0000) } return rsp }
/** * 生成CSV文件的主体方法 * @param head * @param dataList * @param outPutPath * @param filename * @return */public static File createCSVFile(List<Object> head, List<List<Object>> dataList, String outPutPath, String filename) { File csvFile = null BufferedWriter csvWtriter = null try { csvFile = new File(outPutPath + File.separator + filename + ".csv") File parent = csvFile.getParentFile() if (parent != null && !parent.exists()) { parent.mkdirs() } csvFile.createNewFile() // GB2312使正确读取分隔符"," csvWtriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream( csvFile), "GB2312"), 1024) // 写入文件头部 writeRow(head, csvWtriter) // 写入文件内容 for (List<Object> row : dataList) { writeRow(row, csvWtriter) } csvWtriter.flush() } catch (Exception e) { e.printStackTrace() } finally { try { csvWtriter.close() } catch (IOException e) { e.printStackTrace() } } return csvFile}
private static void writeRow(List<Object> row, BufferedWriter csvWriter) throws IOException { // 写入文件头部 for (Object data : row) { StringBuffer sb = new StringBuffer() String rowStr = sb.append("\"").append(data).append("\",").toString() csvWriter.write(rowStr) } csvWriter.newLine()}
转载于:https://www.cnblogs.com/joker331/p/10437190.html
java将数据生成csv文件相关推荐
- java将数据写入csv文件,从csv文件中读取数据
全栈工程师开发手册 (作者:栾鹏) java教程全解 java将数据写入csv文件,从csv文件中读取数据 测试代码 public static void main(String[] arges){/ ...
- java将输出结果写入csv文件_如何在Java中将数据写入.csv文件?
名为OpenCSV的库提供API来从.CSV文件读取数据或将数据写入.CSV文件.此处说明了如何使用Java程序写入.csv文件的内容. Maven依赖 com.opencsv opencsv 4.4 ...
- 在jsp中点击按钮,在bean中把已经查出的数据,生成csv文件,然后在ie中自动打开
Quote: 这个问题可以分两部分讨论: 1.csv文件的格式 2.通过jsp向客户端输出csv文件 第一个问题我们就按简单的来讨论,可以认为是每个字段用""包含后再用,号分割 比 ...
- java导出csv文件乱码_记一次java生成csv文件乱码的解决过程 (GB2312编码)
系统:win7 (格式:中文(简体,中国)) 工具:Eclipse (默认编码utf-8) 服务两个:[restful接口] 和 [服务*** server]. 场景:[服务*** server]多 ...
- Java实现生成csv文件并导入数据
一.需求: 下载列表,在没有过滤之前下载列表所有数据,点击过滤之后,下载过滤之后对数据,生成csv文件. 二.思路: 先根据条件(是否过滤了数据)筛选出数据,将数据导入csv文件,生成文件并返回. 三 ...
- Java生成CSV文件
1.新CSVUtils.java文件: package com.saicfc.pmpf.internal.manage.utils;import java.io.BufferedWriter; imp ...
- POI以SAX方式解析Excel2007大文件(包含空单元格的处理) Java生成CSV文件实例详解...
http://blog.csdn.net/l081307114/article/details/46009015 http://www.cnblogs.com/dreammyle/p/5458280. ...
- java导出csv文件_java导出生成csv文件的方法
本文实例为大家分享了java导出生成csv文件的具体代码,供大家参考,具体内容如下 首先我们需要对csv文件有基础的认识,csv文件类似excel,可以使用excel打开,但是csv文件的本质是逗号分 ...
- java 生成csv文件_Java生成CSV文件实例详解
本文实例主要讲述了java生成csv文件的方法,具体实现步骤如下: 1.新建csvutils.java文件: package com.saicfc.pmpf.internal.manage.utils ...
最新文章
- 常用windows命令
- SKIP-NAME-RESOLVE ——错误的使用时机造成用户权限
- 使用Packet.dll和npf.sys实现原始数据包的发送和接收
- php模板引擎循环start,PHP模板引擎Smarty内建函数section,sectionelse用法详解
- 深入理解JavaScript之Event Loop
- Python中GIL(全局解释器锁)
- jstl错误:According to TLD or attribute directive in tag file, attribute value does not accept any expr
- 【渝粤教育】广东开放大学 演绎娱乐经验管理 形成性考核 (49)
- 面试题:逗号表达式运用
- 在vue中实现锚点定位功能
- 网络基础知识之报文格式介绍
- 上交所实时行情文件汇总
- 工业互联网是不是很难学对于女生而言?
- VR行业发展的前景和现状?
- bootstrap_blue_print_volume ii 读书笔记
- 浙大第四版概率论第五、六章思维导图
- 关于“过劳死”的法律探讨
- 堪培拉计算机专业就业情况,澳洲留学未来就业率最高的专业top10盘点
- 能在多种前端框架下使用的表格控件
- 上可以替代mobaxterm_解读:替代性程序——函证重灾区(干货)
热门文章
- 树莓派使用STEP7:安装wiringPi硬件外设驱动C库
- NB模组基本AT指令
- 2018 总结 2019 展望
- C++学习(一)之Visual Studio安装以及首次使用
- 解决ubuntu16.04 qt5.9.1无法输入中文
- day02-java关键字
- BZOJ 2324: [ZJOI2011]营救皮卡丘(带上下限的最小费用最大流)
- 一个显示页码用的helper。。。
- 转一个无聊的爱情故事:如果有个女生为你哭
- c语言 拓补排序源代码,拓扑排序C语言代码