在 Apex 代码中生成 csv 文件
在 Apex 代码中生成 csv 文件可以写一个 Visualforce 页面,设定类型为 excel 的格式,然后调用 PageReference
的 getContent()
方法来获取 Blob 格式,存放在附件。
不过另一种更简单的方式就是拼接字符串,csv 即逗号分隔值,所以 csv 文件的内容即一串字符串,用逗号分隔值。
代码:
String csvString = 'header1,header2,header3'; csvString += '\n'; csvString += 'value1,value2,value3'; csvString = '\ufeff' + csvString; // 前缀字节序标记 Blob csvBlob = Blob.valueOf(csvString);
csvBlob
即生成的 csv 文件。
不过在 Microsoft Office Excel 中,打开 ASCII 码字符以外的字符,会出现乱码,需要在 csv 文件的最前面加上一个字节序标记符号(\ufeff
)。所以在上面代码中生成字符串时前面加了一个 \ufeff
。
当 csv 的值中出现了逗号(,),双引号("),换行符(\n) 时,需要将这些值用双引号。特别地,对于值中的双引号("),要在双引号前再加一个双引号来避免歧义。
比如 csv 中一行的值如下
value1
value2withcomma,
value3withlinebreak\n
value4withdoublequote"
生成 csv 字符串时需生成为 value1,"value2withcomma,","value3withlinebreak\n","value4withdoublequote"""
References
1. Salesforce Developer Forum
2. Common Format and MIME Type for Comma-Separated Values (CSV) Files
转载于:https://www.cnblogs.com/salesforce1/p/generate-csv-in-apex.html
在 Apex 代码中生成 csv 文件相关推荐
- 人脸识别(二)----如何生成CSV文件
人脸识别(二)----如何生成CSV文件 当我们写人脸模型训练的时候,我们需要读取人脸的路径path和人脸对应的标签label.人脸的路径就是人脸图片所在你的电脑的位置,标签就是一个人对应一个标签(注 ...
- 使用python代码,将csv文件中的问题逐条向ChatGPT提问,并将ChatGPT回复的结果新建为一个文件保存,文件名为所提出的问题,最后所有生成的word文件都保存在一个新生成的文件夹中。
你可以使用 Python 的 csv 模块来读取 csv 文件,然后使用 ChatGPT 的 API 来获取回答.下面是一个例子,它假设你已经安装了 ChatGPT 并已经准备好了 csv 文件. i ...
- java中csv文件怎么制作_Java生成csv文件
可以通过字段数组的集合或者通过实体对象集合生成csv文件. 1.数组集合生成 @PostMapping("/writeCsvFile") public void writeCsvF ...
- java中csv文件怎么制作_Java生成CSV文件实例详解
本文实例主要讲述了Java生成CSV文件的方法,具体实现步骤如下: 1.新建CSVUtils.java文件: package com.saicfc.pmpf.internal.manage.utils ...
- java后台使用opencsv生成csv文件,并返回给前端下载(附前后端代码)
最近有一个需求,需要 前端页面选择相应条件,后端根据条件查询数据库,将查出的实体类集合转换为csv文件返回给前端,随后前端进行下载. 找了挺多的资料,现在进行一个整理和分享. 1.Controller ...
- python中csv文件操作_python中操作csv文件
python中操作csv文件 读取csv improt csv f = csv.reader(open("文件路径","r")) for i in f: pri ...
- java导出csv文件_java导出生成csv文件的方法
本文实例为大家分享了java导出生成csv文件的具体代码,供大家参考,具体内容如下 首先我们需要对csv文件有基础的认识,csv文件类似excel,可以使用excel打开,但是csv文件的本质是逗号分 ...
- Python爬虫——爬取股票信息生成csv文件
最近在学习数据分析,就想着弄一份csv文件练手用,于是就爬取了股票信息,生成csv文件 爬取的网址:http://quote.eastmoney.com/ztb/detail#type=ztgc 网址 ...
- Java实现生成csv文件并导入数据
一.需求: 下载列表,在没有过滤之前下载列表所有数据,点击过滤之后,下载过滤之后对数据,生成csv文件. 二.思路: 先根据条件(是否过滤了数据)筛选出数据,将数据导入csv文件,生成文件并返回. 三 ...
最新文章
- 北邮OJ 2016 网预-Square Coins
- python语言例子_【Python】SimPy的使用示例-Go语言中文社区
- Docker JFrog Artifactory 7.27.10 maven私服(搭建篇)
- dns迭代查询配置_人人都能看懂-关于dns服务基本知识
- python基本规则语法
- php 代码坦克,HTML5实现经典坦克大战坦克乱走还能发出一个子弹_html5教程技巧
- 云服务器安全组开放所有端口
- 阿里云服务器可选系统有哪些?如何选择?
- cocos2d-lua加载cocostudio创建的csb文件
- word转html显示不完整,word页面怎么显不完全 word页面视图显示不全怎么办
- mongodb 建立索引提示异常:WiredTigerIndex::insert: key too large to index, failing 1483
- 抖音上热门精选的要求 视频怎么修改md5
- 2017免费发布信息平台排行大全!
- [附源码]Java计算机毕业设计SSM电脑配件仓储后台管理系统
- python技术文档
- 绕圈圈面试题(Python经典编程案例)
- 如何打新股|打新股流程
- Servlet和JSP入门视频【高清】,32个视频
- 瑞萨RH850 CS+环境下设置堆和栈空间
- 中华人民共和国县以上行政区划代码
热门文章
- python numpy的var std cov研究
- 存储过程知识总结【一】
- 开源路由软件zebra的命令存储原理及使用方法
- 使用默认Model Binding支持集合类
- IP过滤-驱动和应用程序通信
- 发纸牌c语言指针,算了算学了有一个月c语言了,写了个扑克牌程序
- fla 走迷宫游戏 源码_迷宫新玩法,果断一试
- Failed to resolve: android.arch.lifecycle:runtime:1.0.0,Failed to resolve: support-v4
- android 监听webView滑动距离和标题栏颜色渐变
- 使用php创建一个注册表单,如何实现一个简单的注册表单