导出CSV 换行问题。
程序方面:
1.Windows 中的换行符"\r\n"
2.Unix/Linux 平台换行符是 "\n"。
3.MessageBox.Show() 的换行符为 "\n"
4.Console 的换行符为 "\n"
为保持平台的通用性,可以用系统默认换行符 System.Environment.NewLine。
sql server:换行
select subscriber_id,subscriber_email,company_name from [dbo].[NewsLetterSystem_Subscriber]
where subscriber_id=6967035 update [NewsLetterSystem_Subscriber]
set company_name=N'ALLY CATERING SOLUTION LIMITED'+CHAR(13)+CHAR(10) +N'安聯餐飲設備有限公司'
where subscriber_id=6967035 update [NewsLetterSystem_Subscriber]
set company_name=N'ALLY CATERING SOLUTION LIMITED'+CHAR(10) +N'安聯餐飲設備有限公司'
where subscriber_id=6967035 update [NewsLetterSystem_Subscriber]
set company_name=N'ALLY CATERING SOLUTION LIMITED'+CHAR(13) +N'安聯餐飲設備有限公司'
where subscriber_id=6967035
C# 程序:
public static string ExportReportInCsv(DataTable dt, string filename, string tmpDir)
{
string tmpFilename = DateTime.Now.Ticks + "_" + filename;
string tmpFilenameWithPath = tmpDir + tmpFilename;
FileStream fs = new FileStream(tmpFilenameWithPath, System.IO.FileMode.Create, System.IO.FileAccess.Write);
//var encoding = GetFileEncodeType(fs);
StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.UTF8);
StringBuilder sb = new StringBuilder();
//写出列名称
for (int i = ; i < dt.Columns.Count; i++)
{
sb.Append(dt.Columns[i].ColumnName.ToString());
if (i < dt.Columns.Count - )
{
sb.Append(",");
}
}
sw.WriteLine(sb.ToString()); for (int i = ; i < dt.Rows.Count; i++)
{
sb.Clear();
for (int j = ; j < dt.Columns.Count; j++)
{
string rowsText = dt.Rows[i][j].ToString();
rowsText = HandleWrap(rowsText);
sb.Append(rowsText);
if (j < dt.Columns.Count - )
{
sb.Append(",");
}
}
sw.WriteLine(sb.ToString());
}
sw.Close();
fs.Close();
return tmpFilenameWithPath;
} public static string HandleWrap(string content)
{
if (content.Contains(Environment.NewLine))
{
var list = content.Split(Environment.NewLine.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
content = string.Join(" ",list);
} content = content.Replace(@"\n", " ").Replace(@"\r\n", " ").Replace((char),' ').Replace((char), ' ');
return content;
}
导出CSV 换行问题。的更多相关文章
- 导出csv文件示例
导出csv文件示例 csv文件默认以英文逗号,做为列分隔符换行符\n作为行分隔符,写入到一个.csv文件即可.含有英文逗号,和换行符会发生数据输出会出现混乱,下面列出一些处理方法.特殊字符处理1.含有 ...
- Web 端 js 导出csv文件(使用a标签)
前言 导出文件,使用最多的方式还是服务器端来处理.比如jsp 中使用response 的方式. 但是,有时候可能就想使用web 前端是否也可以把页面上的内容导出来呢? 比如说,导出页面的一个表格. 这 ...
- 导出csv文件时,处理分隔符问题(转)
转自:http://blog.sina.com.cn/s/blog_468530a60100kjpy.html CSV文件默认以英文逗号做为列分隔符,换行符作为行分隔符. 如果不提供网页形式只用命令行 ...
- 前端导出csv
前端导出csv export: function(data, name) { // csv文件的BOM头 \ufeff可以让excel等识别出csv文件的编码 var uri = 'data:text ...
- web前端导出csv文件
前言 导出文件,使用最多的方式还是服务器端来处理.比如jsp 中使用response 的方式. 但是,有时候可能就想使用web 前端是否也可以把页面上的内容导出来呢? 比如说,导出页面的一个表格. 这 ...
- javascript前端导出csv表格
使用场景 后台统计经常要展示各种各样的表格数据,几乎每个表格展示都会伴随着数据的导出. 之前的解决方案都是通过发起一个相同查询参数(querystring)的导出请求(action=export),由 ...
- php 导出CSV抽象类
php 导出CSV抽象类,依据总记录数与每批次记录数,计算总批次.循环导出.避免内存不足的问题. ExportCSV.class.php <? php /** php Export CSV ab ...
- 使用PHP生成并导出CSV文件
CSV文件是以纯文本形式存储的,一般以逗号为分隔符.这里主要简单介绍下如何导出CSV文件. 一.浏览器导出CSV文件格式 /** * 导出CSV文件 */ function exportCsv() { ...
- Spring Boot下的一种导出CSV文件的代码框架
1.前言 CSV,逗号分隔值(Comma-Separated Values),即为逗号分隔的文本文件.如果值中含有逗号.换行符.制表符(Tab).单引号及双引号,则需要用双引号括起来:如果值中包含 ...
随机推荐
- python基础语法、数据结构、字符编码、文件处理 练习题
考试范围 '''1.python入门:编程语言相关概念2.python基础语法:变量.运算符.流程控制3.数据结构:数字.字符串.列表.元组.字典.集合4.字符编码5.文件处理''' 考试内容 1.简 ...
- 【转】深入分析 Parquet 列式存储格式
Parquet 是面向分析型业务的列式存储格式,由 Twitter 和 Cloudera 合作开发,2015 年 5 月从 Apache 的孵化器里毕业成为 Apache 顶级项目,最新的版本是 1. ...
- 前端js区域上下拖拽
先说说需求吧,网页内又上下两个区域,需要做到的功能是,第一个区域A底部的边可以进行拖拽使得区域变大或变小,同时第二个区域B跟着拖动的变化进行自适应. 思路: 1.使用一个假的div定义为那条可进行拖拽 ...
- python常用的基本操作
打开cmd,pip list 可以查看python安装的所以第三方包
- java 11 完全支持Linux容器(包括Docker)
许多运行在Java虚拟机中的应用程序(包括Apache Spark和Kafka等数据服务以及传统的企业应用程序)都可以在Docker容器中运行.但是在Docker容器中运行Java应用程序一直存在一个 ...
- [FJOI2018]领导集团问题
[FJOI2018]领导集团问题 dp[i][j],i为根子树,最上面的值是j,选择的最大值 观察dp方程 1.整体Dp已经可以做了. 2.考虑优美一些的做法: dp[i]如果对j取后缀最大值,显然是 ...
- 【转】 如何重写hashCode()和equals()方法
转自:http://blog.csdn.net/neosmith/article/details/17068365 hashCode()和equals()方法可以说是Java完全面向对象的一大特色.它 ...
- echarts 修改y轴刻度间隔问题
其中min.max可以自定义可以动态获取数据 yAxis : [ { type : 'value', axi ...
- python操作文件练习,配置haproxy
在使用python操作文件的时候,特别是对于网络设备,通常操作配置文件,会简化配置量,配置文件加载到内存中,运行时使用的是内存中的配置,内存中配置修改后立即生效,如果不将配置内容保存到硬盘中,则下次重 ...
- Mysql双主热备+LVS+Keepalived高可用部署实施手册
MySQL复制能够保证数据的冗余的同时可以做读写分离来分担系统压力,如果是主主复制还可以很好的避免主节点的单点故障.然而MySQL主主复制存在一些问题无法满足我们的实际需要:未提供统一访问入口来实现负 ...