导出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).单引号及双引号,则需要用双引号括起来:如果值中包含 ...
随机推荐
- js 获取输入框中光标的索引位置
<html> <head></head> <body> <script> function getTxt1CursorPosition(){ ...
- Java高级篇(四)——反射
之前写到了设计模式的代理模式,因为下一篇动态代理等内容需要用到反射的知识,所以在之前Java篇的基础上再写一篇有关反射的内容,还是以实际的程序为主,了解反射是做什么的.应该怎么用. 一.什么是反射 反 ...
- 最简单易懂的Spring Security 身份认证流程讲解
最简单易懂的Spring Security 身份认证流程讲解 导言 相信大伙对Spring Security这个框架又爱又恨,爱它的强大,恨它的繁琐,其实这是一个误区,Spring Security确 ...
- linux测速工具 speedtest-cli
安装speedtest-cli: wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/ ...
- 拖放排序插件Sortable.js
特点 支持触屏设备和大部分浏览器(IE9以下的就不支持了,原因都懂得) 可以从一个列表容器中拖拽一个列表单元到其他容器或本列表容器中进行排序 移动列表单元时有css动画 支持拖放操作和可选择的文本(这 ...
- PS教您与粗壮的胳膊拜拜
Step 01在Photoshop 中打开素材图片,图中圈出的地方是需要调整的. Step 02用[套索工具]圈出胳膊及周围的环境. Step 03单击右键,选择[羽化],设置[羽化半径]为20 像素 ...
- hadoop用户写入文件权限不够的问题
问题: 普通用户echo写入文件,提示权限不够. 解决方式: sudo tee test.txt <<< "要插入内容"
- Go 连接 mysql 数据库的简单测试.
1. import 的时候 总是很慢 容易失败 所以 优先导入几个必须要的包 go get github.com/go-sql-driver/mysql 安装完之后 会在gopath 目录下发现相关的 ...
- PHP artisan migrate 报错显示 could not find driver ,怎么办?
记录下自己的错误 一. 1.原因是没有pdo扩展导致的, 2.解决办法:打开php.ini,然后去掉以下两行代码之前的分号(:)即可.如下: extension=php_pdo_firebird.dl ...
- elasticsearch6.6及其插件安装记录(较详细)
借鉴网上资料并实施验证结果 elasticsearch6.6安装 安装包下载路径 https://www.elastic.co/downloads/elasticsearch 本文使用安装包 elas ...