CSV文件格式

1、CSV文件默认以英文逗号(,)做为列分隔符,换行符(\n)作为行分隔符。
2、CSV默认认为由""括起来的内容是一个栏位,这时不管栏位内容里有除"之外字符的任何字符都可以按原来形式引用。

3、若字段内容里含有",这时只需将"替换成两个双引号("")即可。CSV会将字段里的两个双引号""显示成一个。

4、应用char(9)表示按照文本形式显示(实例红色字体部分)。

应用实例
private void ExportToSCV(GridView gridview, string path)
{
try
{
if (File.Exists(path) && IsFileInUse(path))
{
MessageBox.Show("文件被占用,请先关闭文件!");
return;
}
StringBuilder sb = new StringBuilder();

string strCols = string.Empty;
foreach (GridColumn col in gridview.Columns)
{
if (!col.Visible) continue;

strCols += col.Caption;
strCols += ",";
}
strCols = strCols.Remove(strCols.Length - 1, 1);
sb.AppendLine(strCols);

for (int i = 0; i < gridview.RowCount; i++)
{
string strRow = string.Empty;
foreach (GridColumn col in gridview.Columns)
{
if (!col.Visible) continue;

// 应用char(9)表示按照文本形式显示
string strValue ="\"" + ((char)(9)).ToString() + gridview.GetRowCellDisplayText(i, col) + "\"";

strRow += strValue;
strRow += ",";
}
strRow = strRow.Remove(strRow.Length - 1, 1);
sb.AppendLine(strRow);
}

using (StreamWriter sw = new StreamWriter(path, false, Encoding.GetEncoding("GB2312")))
{
sw.Write(sb.ToString());
sw.Flush();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}

private bool IsFileInUse(string fileName)
{
bool inUse = true;

FileStream fs = null;
try
{
fs = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.None);

inUse = false;
}
catch
{

}
finally
{
if (fs != null)
fs.Close();
}

return inUse;//true表示正在使用,false没有使用
}

[原创]导出CSV文件,特殊字符处理。的更多相关文章

  1. 导出csv文件示例

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

  2. PHP实现导出CSV文件

    在做导出一个信息表为excel文件这个功能完成之后,自己用得好好的,但是到HR那边就告诉我导出的文件无法用她电脑上的office打开,心想,兼容没做好,想问下她的版本号,结果半天没回复消息.我老大来了 ...

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

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

  4. mysql SQLyog导入导出csv文件

    1.选择数据库表 --> 右击属性 --> 备份/导出 --> 导出表数据作为 --> 选择cvs --> 选择下面的“更改” --> 字段 --> 变量长度 ...

  5. PHP 读取/导出 CSV文件

    工作中经常会有遇到导入/导出的需求,下面是常用的方法.读取CSV文件,可以分页读取,设置读取行数,起始行数即可.导出CSV文件,用两种方法进行实现. /** * 读取CSV文件 * @param st ...

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

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

  7. PHP导出CSV文件出现乱码的解决方法

    在做项目时碰到使用外语的情况下,我们就会使用UTF-8编码.但是,在用PHP导出CSV文件时,如果写入的数据是使用UTF-8编码的日语.韩语之类的外文,就会出现乱码. 要解决PHP生成CSV文件的乱码 ...

  8. [转]PL/SQL Developer 导入导出csv文件

    PL/SQL Developer 可以导入或者导出CSV文件. 导入CSV文件步骤: 1.选择tools->text importer.... 2.选择第二个Data to oracle选项卡, ...

  9. 导出csv文件数字会自动变科学计数法的解决方法

    其实这个问题跟用什么语言导出csv文件没有关系.Excel显示数字时,如果数字大于12位,它会自动转化为科学计数法:如果数字大于15位,它不仅用于科学技术费表示,还会只保留高15位,其他位都变0.解决 ...

随机推荐

  1. [mysql]throw exception

    CREATE PROCEDURE pro_throwException (errorCode char(5), errorMessage text) BEGIN SIGNAL SQLSTATE err ...

  2. fenxi

    线路:通过定义而来(固定线路可以定义,随机和临时线路怎么来) 订单:线路上点对点的关系 装车单:同意线路上的车辆可以有多个订单组成的装车单 车辆任务:给调度接口输入车辆和订单集合,根据订单产生多个车的 ...

  3. [ASM C/C++] C语言数组

    固定长度的数组: 可以具有任何的存储类别. 长度可变的数组: 只能具有自动的生存周期(定义于语句块内,眀没有static修饰符). 名字必须为一般的标识符,因此结构或联合的成员不能是数组的标识符. 读 ...

  4. up_modembin.sh

    --- 编译modem生成bin文件cp到指定文件夹 up_modembin.sh #!/bin/bash flag=${} == $flag ];then # echoMsg find vendor ...

  5. 常用的logging配置

    centos 6.5,python 2.6 习惯封装一个log.py #!/usr/bin/python # -*- coding: UTF-8 -*- import logging from log ...

  6. sql 连接查询的区别 inner,left,right,full

    --table1 表 ID NAME QQ PHONE1 秦云 10102800 135000002 在路上 10378 136000003 LEO 10000 139000004 秦云 024145 ...

  7. Write a script to check an interesting game 6174

    # -*- coding: utf-8 -*-#from ftplib import FTPimport osdef sort_reverse(x,y): if x>y: return -1 i ...

  8. Spring Security3中的-authentication-manager标签详解

    讲解完http标签的解析过程,authentication-manager标签解析部分就很容易理解了 authentication-manager标签在spring的配置文件中的定义一般如下 < ...

  9. http cookie相关

    http://www.webryan.net/2011/08/wiki-of-http-cookie/

  10. Java 集合 - HashSet

    一.源码解析 public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable ...