[原创]导出CSV文件,特殊字符处理。
2015-01-16 17:02
190 查看
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没有使用}
相关文章推荐
- Java 文件下载 csv文件导出特殊字符转义
- web.config文件中的特殊字符处理
- web.config文件中的特殊字符处理
- (android文件下载)下载链接中包含特殊字符--空格,中文等,导致无法识别处理方案
- 关于csv格式文件的导入、导出时的身份证号处理
- 导出csv文件时,处理分隔符问题
- (原创)关于如何处理EXCEL( CSV)文件 导入数据库的解决方法!!
- 批处理读文件,perl 发送邮件 ,access 导出 csv
- xml格式文件特殊字符处理
- linux下文件特殊字符处理
- 导出csv文件时,处理分隔符问题
- 处理文件名内含有特殊字符的文件
- [原创]VB程序 - 处理字符和文件名称的代码模块
- JAVA文件路径特殊字符“/”的处理
- 导出csv文件时,处理分隔符问题
- CSV 文件导入到数据库的前奏,判断处理回车符,判断处理文件字符串中出现的逗号,及部分特殊符号
- gridview导出excel文件且把数字类型的列转换成字符导出(防止处理成科学计数法)
- csv文件导出,excel打开乱码处理
- 图解-Excel的csv格式特殊字符处理方式尝试笔记(个人拙笔)
- 使用spring+maven时配置文件中的特殊字符处理