在 Apex 代码中生成 csv 文件可以写一个 Visualforce 页面,设定类型为 excel 的格式,然后调用 PageReferencegetContent()方法来获取 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 文件相关推荐

  1. 人脸识别(二)----如何生成CSV文件

    人脸识别(二)----如何生成CSV文件 当我们写人脸模型训练的时候,我们需要读取人脸的路径path和人脸对应的标签label.人脸的路径就是人脸图片所在你的电脑的位置,标签就是一个人对应一个标签(注 ...

  2. 使用python代码,将csv文件中的问题逐条向ChatGPT提问,并将ChatGPT回复的结果新建为一个文件保存,文件名为所提出的问题,最后所有生成的word文件都保存在一个新生成的文件夹中。

    你可以使用 Python 的 csv 模块来读取 csv 文件,然后使用 ChatGPT 的 API 来获取回答.下面是一个例子,它假设你已经安装了 ChatGPT 并已经准备好了 csv 文件. i ...

  3. java中csv文件怎么制作_Java生成csv文件

    可以通过字段数组的集合或者通过实体对象集合生成csv文件. 1.数组集合生成 @PostMapping("/writeCsvFile") public void writeCsvF ...

  4. java中csv文件怎么制作_Java生成CSV文件实例详解

    本文实例主要讲述了Java生成CSV文件的方法,具体实现步骤如下: 1.新建CSVUtils.java文件: package com.saicfc.pmpf.internal.manage.utils ...

  5. java后台使用opencsv生成csv文件,并返回给前端下载(附前后端代码)

    最近有一个需求,需要 前端页面选择相应条件,后端根据条件查询数据库,将查出的实体类集合转换为csv文件返回给前端,随后前端进行下载. 找了挺多的资料,现在进行一个整理和分享. 1.Controller ...

  6. python中csv文件操作_python中操作csv文件

    python中操作csv文件 读取csv improt csv f = csv.reader(open("文件路径","r")) for i in f: pri ...

  7. java导出csv文件_java导出生成csv文件的方法

    本文实例为大家分享了java导出生成csv文件的具体代码,供大家参考,具体内容如下 首先我们需要对csv文件有基础的认识,csv文件类似excel,可以使用excel打开,但是csv文件的本质是逗号分 ...

  8. Python爬虫——爬取股票信息生成csv文件

    最近在学习数据分析,就想着弄一份csv文件练手用,于是就爬取了股票信息,生成csv文件 爬取的网址:http://quote.eastmoney.com/ztb/detail#type=ztgc 网址 ...

  9. Java实现生成csv文件并导入数据

    一.需求: 下载列表,在没有过滤之前下载列表所有数据,点击过滤之后,下载过滤之后对数据,生成csv文件. 二.思路: 先根据条件(是否过滤了数据)筛选出数据,将数据导入csv文件,生成文件并返回. 三 ...

最新文章

  1. 北邮OJ 2016 网预-Square Coins
  2. python语言例子_【Python】SimPy的使用示例-Go语言中文社区
  3. Docker JFrog Artifactory 7.27.10 maven私服(搭建篇)
  4. dns迭代查询配置_人人都能看懂-关于dns服务基本知识
  5. python基本规则语法
  6. php 代码坦克,HTML5实现经典坦克大战坦克乱走还能发出一个子弹_html5教程技巧
  7. 云服务器安全组开放所有端口
  8. 阿里云服务器可选系统有哪些?如何选择?
  9. cocos2d-lua加载cocostudio创建的csb文件
  10. word转html显示不完整,word页面怎么显不完全 word页面视图显示不全怎么办
  11. mongodb 建立索引提示异常:WiredTigerIndex::insert: key too large to index, failing 1483
  12. 抖音上热门精选的要求 视频怎么修改md5
  13. 2017免费发布信息平台排行大全!
  14. [附源码]Java计算机毕业设计SSM电脑配件仓储后台管理系统
  15. python技术文档
  16. 绕圈圈面试题(Python经典编程案例)
  17. 如何打新股|打新股流程
  18. Servlet和JSP入门视频【高清】,32个视频
  19. 瑞萨RH850 CS+环境下设置堆和栈空间
  20. 中华人民共和国县以上行政区划代码

热门文章

  1. python numpy的var std cov研究
  2. 存储过程知识总结【一】
  3. 开源路由软件zebra的命令存储原理及使用方法
  4. 使用默认Model Binding支持集合类
  5. IP过滤-驱动和应用程序通信
  6. 发纸牌c语言指针,算了算学了有一个月c语言了,写了个扑克牌程序
  7. fla 走迷宫游戏 源码_迷宫新玩法,果断一试
  8. Failed to resolve: android.arch.lifecycle:runtime:1.0.0,Failed to resolve: support-v4
  9. android 监听webView滑动距离和标题栏颜色渐变
  10. 使用php创建一个注册表单,如何实现一个简单的注册表单