程序方面:

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 换行问题。的更多相关文章

  1. 导出csv文件示例

    导出csv文件示例 csv文件默认以英文逗号,做为列分隔符换行符\n作为行分隔符,写入到一个.csv文件即可.含有英文逗号,和换行符会发生数据输出会出现混乱,下面列出一些处理方法.特殊字符处理1.含有 ...

  2. Web 端 js 导出csv文件(使用a标签)

    前言 导出文件,使用最多的方式还是服务器端来处理.比如jsp 中使用response 的方式. 但是,有时候可能就想使用web 前端是否也可以把页面上的内容导出来呢? 比如说,导出页面的一个表格. 这 ...

  3. 导出csv文件时,处理分隔符问题(转)

    转自:http://blog.sina.com.cn/s/blog_468530a60100kjpy.html CSV文件默认以英文逗号做为列分隔符,换行符作为行分隔符. 如果不提供网页形式只用命令行 ...

  4. 前端导出csv

    前端导出csv export: function(data, name) { // csv文件的BOM头 \ufeff可以让excel等识别出csv文件的编码 var uri = 'data:text ...

  5. web前端导出csv文件

    前言 导出文件,使用最多的方式还是服务器端来处理.比如jsp 中使用response 的方式. 但是,有时候可能就想使用web 前端是否也可以把页面上的内容导出来呢? 比如说,导出页面的一个表格. 这 ...

  6. javascript前端导出csv表格

    使用场景 后台统计经常要展示各种各样的表格数据,几乎每个表格展示都会伴随着数据的导出. 之前的解决方案都是通过发起一个相同查询参数(querystring)的导出请求(action=export),由 ...

  7. php 导出CSV抽象类

    php 导出CSV抽象类,依据总记录数与每批次记录数,计算总批次.循环导出.避免内存不足的问题. ExportCSV.class.php <? php /** php Export CSV ab ...

  8. 使用PHP生成并导出CSV文件

    CSV文件是以纯文本形式存储的,一般以逗号为分隔符.这里主要简单介绍下如何导出CSV文件. 一.浏览器导出CSV文件格式 /** * 导出CSV文件 */ function exportCsv() { ...

  9. Spring Boot下的一种导出CSV文件的代码框架

    1.前言 ​ CSV,逗号分隔值(Comma-Separated Values),即为逗号分隔的文本文件.如果值中含有逗号.换行符.制表符(Tab).单引号及双引号,则需要用双引号括起来:如果值中包含 ...

随机推荐

  1. python基础语法、数据结构、字符编码、文件处理 练习题

    考试范围 '''1.python入门:编程语言相关概念2.python基础语法:变量.运算符.流程控制3.数据结构:数字.字符串.列表.元组.字典.集合4.字符编码5.文件处理''' 考试内容 1.简 ...

  2. 【转】深入分析 Parquet 列式存储格式

    Parquet 是面向分析型业务的列式存储格式,由 Twitter 和 Cloudera 合作开发,2015 年 5 月从 Apache 的孵化器里毕业成为 Apache 顶级项目,最新的版本是 1. ...

  3. 前端js区域上下拖拽

    先说说需求吧,网页内又上下两个区域,需要做到的功能是,第一个区域A底部的边可以进行拖拽使得区域变大或变小,同时第二个区域B跟着拖动的变化进行自适应. 思路: 1.使用一个假的div定义为那条可进行拖拽 ...

  4. python常用的基本操作

    打开cmd,pip list 可以查看python安装的所以第三方包

  5. java 11 完全支持Linux容器(包括Docker)

    许多运行在Java虚拟机中的应用程序(包括Apache Spark和Kafka等数据服务以及传统的企业应用程序)都可以在Docker容器中运行.但是在Docker容器中运行Java应用程序一直存在一个 ...

  6. [FJOI2018]领导集团问题

    [FJOI2018]领导集团问题 dp[i][j],i为根子树,最上面的值是j,选择的最大值 观察dp方程 1.整体Dp已经可以做了. 2.考虑优美一些的做法: dp[i]如果对j取后缀最大值,显然是 ...

  7. 【转】 如何重写hashCode()和equals()方法

    转自:http://blog.csdn.net/neosmith/article/details/17068365 hashCode()和equals()方法可以说是Java完全面向对象的一大特色.它 ...

  8. echarts 修改y轴刻度间隔问题

    其中min.max可以自定义可以动态获取数据 yAxis : [ {                        type : 'value',                        axi ...

  9. python操作文件练习,配置haproxy

    在使用python操作文件的时候,特别是对于网络设备,通常操作配置文件,会简化配置量,配置文件加载到内存中,运行时使用的是内存中的配置,内存中配置修改后立即生效,如果不将配置内容保存到硬盘中,则下次重 ...

  10. Mysql双主热备+LVS+Keepalived高可用部署实施手册

    MySQL复制能够保证数据的冗余的同时可以做读写分离来分担系统压力,如果是主主复制还可以很好的避免主节点的单点故障.然而MySQL主主复制存在一些问题无法满足我们的实际需要:未提供统一访问入口来实现负 ...