C#對(duì)Excel表csv文件的讀寫(xiě)操作詳解
更新時(shí)間:2024年12月09日 10:41:40 作者:凌盛羽
在C#編程中,CSV(Comma Separated Values)文件是一種常見(jiàn)的數(shù)據(jù)存儲(chǔ)格式,用于存儲(chǔ)表格數(shù)據(jù),如數(shù)據(jù)庫(kù)導(dǎo)出或報(bào)表,CSV文件以其簡(jiǎn)單、易于處理和跨平臺(tái)兼容性而受到廣泛使用,本篇文章將深入探討如何在C#中進(jìn)行CSV文件的讀寫(xiě)操作,需要的朋友可以參考下
一、變量定義
#region 變量定義 private string CurAppExeDir = System.AppDomain.CurrentDomain.BaseDirectory; private string TestFileName = "xDemoTest.csv"; #endregion
二、加載主窗口
#region 加載主窗口
private void xDemoMainForm_Load(object sender, EventArgs e)
{
Create_Table_Header();
Read_Data_Table(CurAppExeDir + TestFileName);
}
#endregion
三、創(chuàng)建表頭
#region 創(chuàng)建表頭
private void Create_Table_Header()
{
/* 文件路徑 + 名稱(chēng) */
string dir = CurAppExeDir + TestFileName;
/* 文件已存在 */
if (File.Exists(dir) == true) return;
/* 創(chuàng)建文件流 */
using(FileStream fileStream = new FileStream(dir, FileMode.Create, FileAccess.Write))
{
/* 創(chuàng)建寫(xiě)文件流 */
StreamWriter streamWriter = new StreamWriter(fileStream);
/* 寫(xiě)入表頭 */
const string header = "序號(hào),姓名,學(xué)號(hào),性別,專(zhuān)業(yè)";
streamWriter.WriteLine(header);
/* 關(guān)閉寫(xiě)文件流 */
streamWriter.Close();
}
}
#endregion
四、向表中添加數(shù)據(jù)
#region 向表中添加數(shù)據(jù)
private void Append_Data_Table(string dir, string text)
{
/* 文件不存在 */
if (File.Exists(dir) == false) return;
/* 創(chuàng)建文件流 */
using (FileStream fileStream = new FileStream(dir, FileMode.Append, FileAccess.Write))
{
/* 創(chuàng)建寫(xiě)文件流 */
StreamWriter streamWriter = new StreamWriter(fileStream);
/* 寫(xiě)入表頭 */
streamWriter.WriteLine(text);
/* 關(guān)閉寫(xiě)文件流 */
streamWriter.Close();
}
}
#endregion
五、從表中讀取數(shù)據(jù)
#region 從表中讀取數(shù)據(jù)
private List<string> Read_Data_Table(string dir)
{
List<string> readData = new List<string>();
/* 文件不存在 */
if (File.Exists(dir) == false) return readData;
/* 創(chuàng)建文件流 */
using (FileStream fileStream = new FileStream(dir, FileMode.Open, FileAccess.Read))
{
/* 創(chuàng)建讀文件流 */
StreamReader streamReader = new StreamReader(fileStream);
/* 是否到達(dá)文件末尾 */
while (streamReader.EndOfStream == false)
{
/* 讀數(shù)據(jù) */
string text = streamReader.ReadLine();
Console.WriteLine(text);
readData.Add(text);
}
/* 關(guān)閉讀文件流 */
streamReader.Close();
}
return readData;
}
#endregion
六、單擊按鈕向表中添加數(shù)據(jù)
#region 單擊按鈕
static UInt16 count = 1;
private void ButtonTest1_Click(object sender, EventArgs e)
{
//序號(hào),姓名,學(xué)號(hào),性別,專(zhuān)業(yè);
string dir = CurAppExeDir + TestFileName;
string ts = (DateTime.Now.ToUniversalTime() - new DateTime(1970, 1, 1)).TotalMilliseconds.ToString().Substring(5,8);
string text = count.ToString() + ",凌晨," + ts + ",女," + "核彈維修保養(yǎng)" + count.ToString();
Append_Data_Table(dir, text);
count += 1;
}
#endregion
七、測(cè)試驗(yàn)證


在這里插入代碼片


到此這篇關(guān)于C#對(duì)Excel表csv文件的讀寫(xiě)操作詳解的文章就介紹到這了,更多相關(guān)C# csv文件的讀寫(xiě)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
DevExpress之ChartControl實(shí)現(xiàn)餅狀圖百分比演示實(shí)例
這篇文章主要介紹了DevExpress之ChartControl實(shí)現(xiàn)餅狀圖百分比演示的方法,實(shí)例講述了窗體與圖形繪制函數(shù)的用法,需要的朋友可以參考下2014-10-10
C#Js時(shí)間格式化問(wèn)題簡(jiǎn)單實(shí)例
這篇文章介紹了C#Js時(shí)間格式化問(wèn)題簡(jiǎn)單實(shí)例,有需要的朋友可以參考一下2013-10-10
C#串口通訊概念及簡(jiǎn)單的實(shí)現(xiàn)方法
這篇文章主要給大家介紹了關(guān)于C#串口通訊概念及簡(jiǎn)單的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用C#具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
在C#中如何使用ResNet50v2進(jìn)行圖像識(shí)別
ONNX?運(yùn)行時(shí)推理可以實(shí)現(xiàn)更快的客戶(hù)體驗(yàn)和更低的成本,支持來(lái)自深度學(xué)習(xí)框架如?PyTorch和TensorFlow/Keras以及經(jīng)典機(jī)器學(xué)習(xí)庫(kù)如?scikit-learn、LightGBM、XGBoost?等的模型,這篇文章主要介紹了在C#中如何使用ResNet50v2進(jìn)行圖像識(shí)別,需要的朋友可以參考下2024-07-07
WPF實(shí)現(xiàn)3D翻牌式倒計(jì)時(shí)特效
這篇文章主要為大家詳細(xì)介紹了WPF實(shí)現(xiàn)3D翻牌式倒計(jì)時(shí)特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-09-09

