writeline为什么不能向csv格式文件写入程序(Vb.net存csv文件,文件被打开后,再用程序存储就会存存不进去)

本文目录
- Vb.net存csv文件,文件被打开后,再用程序存储就会存存不进去
- VBS怎么往CSV文件中写数据
- 我用StreamWriter写入csv格式的文件,但默认是utf8的编码,用excel打开就乱码但是用记事本就可以C#
- python处理完CSV数据后重新写入新CSV文件,为什么新文件用记事本打开没有双引号该怎么解决谢谢
- vb.net 操作CSV问题 求大神 急
- 将excel文件转换为csv格式的文件出现不兼容的问题急!在线等!
- C#,如何实现计算结果写入到CSV文件中,求代码演示
- 关于perl写入csv的程序,求高手指教
Vb.net存csv文件,文件被打开后,再用程序存储就会存存不进去
参考
Private Function ExportCsvProcess
(ByVal FilePath As String ByVal,
dt As DataTable) As Boolean
Dim fileStream As System.IO.FileStream
Dim streamWriter As System.IO.StreamWriter
Dim intRow, intCol As Integer
Dim strRow As String
’删除旧CSV文件
If (System.IO.File.Exists(FilePath)) Then
System.IO.File.Delete(FilePath)
End If
Try
fileStream = New FileStream(FilePath,
System.IO.FileMode.CreateNew, System.IO.
FileAccess.Write)
If Not dt Is Nothing Then
streamWriter = New StreamWriter
(fileStream, System.Text.Encoding.Default)
strRow = ""
’读列名
For intCol = 0 To dt.Columns.Count - 1
strRow += dt.Columns(intCol).ColumnName
If intCol 《dt.Columns.Count - 1 Then
strRow += ","
End If
Next
streamWriter.WriteLine(strRow)
’读每行的值
For intRow = 0 To dt.Rows.Count - 1
strRow = ""
For intCol = 0 To dt.Columns.Count - 1
strRow += CStr(dt.Rows(intRow).Item(intCol))
If intCol 《dt.Columns.Count - 1 Then
strRow += ","
End If
Next
streamWriter.WriteLine(strRow)
Next
streamWriter.Close()
End If
Catch ex As Exception
MessageShow(ex.ToString())
Return False
Finally
fileStream.Close()
End Try
Return True
End Function
必要时可以进行特殊字符的过滤
VB.NET操作CSV文件中特殊字符的过滤
Private Function DelSpacChr
(ByVal str As String) As String
Dim i As Integer
Dim result As String = str
Dim strSpac() As String =
{"~", "!", "@", "#", "$", "%",
"^", "&", "*", "(", ")", "`", ";",
"’", ",", ".", "/", ":", "/,",
"《", "》", "?"}
For i = 0 To i 《strSpac.Length
If result.IndexOf(strSpac(i)) 》 -1 Then
resultresult = result.Replace
(strSpac(i), "")
End If
Next
Return result
End Function
下面是从CSV导入到DataTable,当然还可以像上面一样使用文件流操作,但这里采用OLEDB类实现VB.NET操作CSV文件。
Public Function CSVToDataTable(ByVal
FilePath As String) As DataTable
Try
If (System.IO.File.Exists(FilePath)) Then
Dim fi As New System.IO.FileInfo(FilePath)
’HDR=NO 第一行当数据处理
’HDR=YES(默认)第一行当列处理
Dim sConnectionString As String =
"Provider=Microsoft.Jet.OLEDB.4.0;
Extended Properties=’Text;HDR=NO’;Data
Source=" & fi.DirectoryName
Dim objConn As New System.Data.OleDb.
OleDbConnection(sConnectionString)
objConn.Open()
Dim strColum As String
Dim objCmdSelect As New Data.OleDb.
OleDbCommand("SELECT Distinct * FROM "
& fi.Name, objConn)
Dim objAdapter As New Data.OleDb.
OleDbDataAdapter
Dim dt As New DataTable objAdapter.
SelectCommand = objCmdSelect
objAdapter.Fill(dt) objConn.Close()
Return dt
End
If Catch ex As Exception
MessageShow(ex.ToString())
Return Nothing
End Try
End Function
OK,VB.NET操作CSV文件完毕。
VBS怎么往CSV文件中写数据
csv叫“逗号分隔值”,顾名思义,用逗号来分隔每列的值,所以你要分列的话只要在每个字段后面加个逗号就可以了。
如38行,改成ts.writeline("Date,Material,Presure,Temperature")
41行也只要将分号改成逗号就行了。
我用StreamWriter写入csv格式的文件,但默认是utf8的编码,用excel打开就乱码但是用记事本就可以C#
StreamWriter sw = new StreamWriter("成功记录.csv",false, UnicodeEncoding.GetEncoding("GB2312"));
python处理完CSV数据后重新写入新CSV文件,为什么新文件用记事本打开没有双引号该怎么解决谢谢
因为这里面的引号是将不同单元格字符串分割用的,而那个英文逗号是分割字符串的,只在当前状态下可见。不过,正常情况下不用出现双引号吧,你在py里面二次处理一下数据,去掉这个引号。
vb.net 操作CSV问题 求大神 急
用一个streamreader和streamwriter即可
Using sr2 As New StreamWriter("2.csv", False, Text.Encoding.Default) ’要写入的文件
Using sr1 As New StreamReader("1.csv", Text.Encoding.Default) ’要读取的文件
While Not sr1.EndOfStream ’EndOfStream=True表示读取结束了
’读取
Dim lineread As String = "" ’等下要读的行
Dim linewrite As String = "" ’等下要写入的行
Dim data As String() ’每个数据的数组
lineread = sr1.ReadLine ’读一行并把流的位置往后调一行
’你现在可以用If判断这一行要不要删除。如果要的话,用Else直接跳过下面的语句即可。
data = lineread.Split(",".ToCharArray, StringSplitOptions.RemoveEmptyEntries) ’读取一行,用逗号分隔后存在数组里
’下面对读取到的数据进行处理,你可以自己处理它
For Each item As String In data
linewrite &= item & "," ’csv是以逗号分隔的,我们写进去时也要记得加逗号
Next
’写入
If linewrite.EndsWith(",") Then ’去掉行最后一个逗号。
’如果之前读到一个空行,这里就不会执行。你想想为什么
sr2.WriteLine(linewrite.Remove(linewrite.Length - 1, 1))
End If
’如果你之前用If判断了行要不要删除,那么End If就应该加在这里。
End While
sr1.Close()
End Using
sr2.Flush()
sr2.Close()
End Using
将excel文件转换为csv格式的文件出现不兼容的问题急!在线等!
将excel文件转换为csv格式的文件出现不兼容的问题。急!在线等!
如果机器上装了Microsoft Excel的话,.csv文件默认是被Excel打开的。需要注意的是,当 双击一个.CSV文件,Excel打开它以后即使不做任何的修改,在关闭的时候Excel往往会提示是否要 改成正确的文件格式,这个时候千万记得要选择“否”。因为Excel认为.CSV 文件中的数字是要用 科学记数法来表示的,而要的.CSV文件中的数字是普通的。
如果选择了“是”的话,Excel会把CSV文件中所有的数字用科学计数来表示(2.54932E+5这种形式),这个文件就没法用了。 所以如果CSV文件绝大部分都是用在集图上的话,建议把.CSV的默认打开方式改成任意一个文本 器,系统自带的记事本就是个不错的选择。
如何将ET格式的文件转换为EXCEL格式的文件
将ET格式的文件转换为EXCEL格式的文件方法详见::jingyan.baidu./article/f3ad7d0f18007609c3345bca.
在线求将SWF文件转换为MPG格式
不知道还在否 我马上加你
怎么将PDF文件转换为EXCEL格式的?
1.AnyBizSoft PDF Converter绿色便携版:专业的PDF转换器,支持将PDF文件转换为Word PowerPoint 、Excel 、HTML、TXT等格式。
2。使用专业版的adobe acrobat pro8以上版本,有转换excel的功能。选定表格数据-右键-用excel打开。
3。solid converter pdf v6:文档-提取到excel表格。
推荐第一个,下载地址发你右上方“消息”。当pdf中的表格是由excel或word表格制成的,才容易成功转换。pdf是图片或扫描的,需用OCR软件。
怎样将mtv格式的文件转换为 *** v格式的文件
去下一个格式转换的软件.
怎么将.baml文件转换为.xaml格式的文件
右击--属性--常规 里,文件名后面跟着的是文件格式,直接改掉就行,或者用格式转换的软件改也行
如何将BMP格式的文件转换为PDS格式的文件?
是PSD吧,PDS是哪个
可以用photoshop转换为PSD,PSD是PS的工程文件格式
如何将.baml文件转换为.xaml格式的文件
可扩展应用程序标记语言
Extensible Application Markup Language
是一个基于xml的标记语言
如何将gif格式的文件转换为rmvb的文件?
GIF是比较小的图片,可以带简单的动画效果
但RMVB是视频格式的文件,比较大。。两个是不能互换的
C#,如何实现计算结果写入到CSV文件中,求代码演示
public class CSVFileHelper
{
/// 《summary》
/// 将DataTable中数据写入到CSV文件中
/// 《/summary》
/// 《param name="dt"》提供保存数据的DataTable《/param》
/// 《param name="fileName"》CSV的文件路径《/param》
public static void SaveCSV(DataTable dt, string fullPath)
{
FileInfo fi = new FileInfo(fullPath);
if (!fi.Directory.Exists)
{
fi.Directory.Create();
}
FileStream fs = new FileStream(fullPath, System.IO.FileMode.Create, System.IO.FileAccess.Write);
//StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.Default);
StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.UTF8);
string data = "";
//写出列名称
for (int i = 0; i 《 dt.Columns.Count; i++)
{
data += dt.Columns.ColumnName.ToString();
if (i 《 dt.Columns.Count - 1)
{
data += ",";
}
}
sw.WriteLine(data);
//写出各行数据
for (int i = 0; i 《 dt.Rows.Count; i++)
{
data = "";
for (int j = 0; j 《 dt.Columns.Count; j++)
{
string str = dt.Rows.ToString();
str = str.Replace("\"", "\"\"");//替换英文冒号 英文冒号需要换成两个冒号
if (str.Contains(’,’) || str.Contains(’"’)
|| str.Contains(’\r’) || str.Contains(’\n’)) //含逗号 冒号 换行符的需要放到引号中
{
str = string.Format("\"{0}\"", str);
}
data += str;
if (j 《 dt.Columns.Count - 1)
{
data += ",";
}
}
sw.WriteLine(data);
}
sw.Close();
fs.Close();
DialogResult result = MessageBox.Show("CSV文件保存成功!");
if (result == DialogResult.OK)
{
System.Diagnostics.Process.Start("explorer.exe", Common.PATH_LANG);
}
}
/// 《summary》
/// 将CSV文件的数据读取到DataTable中
/// 《/summary》
/// 《param name="fileName"》CSV文件路径《/param》
/// 《returns》返回读取了CSV数据的DataTable《/returns》
public static DataTable OpenCSV(string filePath)
{
Encoding encoding = Common.GetType(filePath); //Encoding.ASCII;//
DataTable dt = new DataTable();
FileStream fs = new FileStream(filePath, System.IO.FileMode.Open, System.IO.FileAccess.Read);
//StreamReader sr = new StreamReader(fs, Encoding.UTF8);
StreamReader sr = new StreamReader(fs, encoding);
//string fileContent = sr.ReadToEnd();
//encoding = sr.CurrentEncoding;
//记录每次读取的一行记录
string strLine = "";
//记录每行记录中的各字段内容
string aryLine = null;
string tableHead = null;
//标示列数
int columnCount = 0;
//标示是否是读取的第一行
bool IsFirst = true;
//逐行读取CSV中的数据
while ((strLine = sr.ReadLine()) != null)
{
//strLine = Common.ConvertStringUTF8(strLine, encoding);
//strLine = Common.ConvertStringUTF8(strLine);
if (IsFirst == true)
{
tableHead = strLine.Split(’,’);
IsFirst = false;
columnCount = tableHead.Length;
//创建列
for (int i = 0; i 《 columnCount; i++)
{
DataColumn dc = new DataColumn(tableHead);
dt.Columns.Add(dc);
}
}
else
{
aryLine = strLine.Split(’,’);
DataRow dr = dt.NewRow();
for (int j = 0; j 《 columnCount; j++)
{
dr;
}
dt.Rows.Add(dr);
}
}
if (aryLine != null && aryLine.Length 》 0)
{
dt.DefaultView.Sort = tableHead + " " + "asc";
}
sr.Close();
fs.Close();
return dt;
}
}
关于perl写入csv的程序,求高手指教
1. 写CSV文件与写TXT文本文件没有任何区别,只需要将三个数据用半角逗号连接起来就可以了,没有什么特殊的。
2. 用追加写入“》》”,一定要记住在每一行的最后加上“\n”换行。这样所有数据就不会写到一行上了。

更多文章:
avantage怎么设置为中文(Avantage安装丢失GIT)
2026年10月15日 03:00
activex控件未注册怎么办(登陆视频监控网页时提示activex控件未注册,怎么解决)
2026年10月14日 20:30
excel连接sql数据库教程(excel怎么连接sql数据库)
2026年10月14日 19:40








