當前位置:成語大全網 - 書法字典 - 如何將列表格式的變量寫入csv文件

如何將列表格式的變量寫入csv文件

下面簡單介紹壹下將列表數據導入CSV文件的方法。

代碼如下:

學生班級:

公共課學生

{

私有字符串id;

公共字符串Id { get { return id} set { id = value} }

私有字符串名稱;

公共字符串名稱{ get { return name} set { name = value} }

私弦年齡;

公共字符串年齡{ get { return age} set { age = value} }

}

模擬壹個簡單的列表數據源:

個人分發名單& lt學生& gtGetStudentData()

{

列表& lt學生& gtstudentList =新列表& lt學生& gt();

Student s1 =新學生();

s1。id =“1“;

s1。Name =“哈哈”;

s1。age =“10“;

學生s2 =新學生();

s2。id =“2“;

s2。name =“Xixi“;

s2。年齡=“20”;

學生s3 =新學生();

s3。id =“3“;

s3。name =“lolo“;

s3。年齡=“30”;

學生名單。add(s 1);

學生名單。添加(S2);

學生名單。添加(S3);

返回studentList

}

根據文件路徑創建相應的文件:

///& lt;總結& gt

///創建目標文件

///& lt;/summary & gt;

///& lt;param name =“folder“& gt;文件夾& lt/param & gt;

///& lt;param name =“fileName“& gt;文件夾名稱& lt/param & gt;

///& lt;param name =“file extension“& gt;文件擴展名& lt/param & gt;

///& lt;退貨& gt文件路徑& lt/returns & gt;

私有字符串CreateFile(字符串文件夾、字符串文件名、字符串文件擴展名)

{

FileStream fs = null

字符串filePath =文件夾+文件名+“。“+file extension;

嘗試

{

如果(!目錄。存在(文件夾))

{

目錄。創建目錄(文件夾);

}

fs =文件。創建(文件路徑);

}

catch(例外情況)

{ }

最後

{

if(fs!=空)

{

fs。dispose();

}

}

返回文件路徑;

}

獲取該類的屬性集合(以便生成CSV文件的所有列標題):

private property info【】getpropertyinfarray()

{

property info【】props = null;

嘗試

{

type type = type of(EricSunApp。學生);

對象對象=激活器。CreateInstance(類型);

道具=類型。get properties(binding flags。公共| BindingFlags。實例);

}

catch(例外情況)

{ }

返還道具;

}

遍歷列表並將數據導入到CSV文件中(目的是用逗號分隔壹行中的數據):

///& lt;總結& gt

///將列表數據保存到CSV文件

///& lt;/summary & gt;

///& lt;param name =“student list“& gt;數據源& lt/param & gt;

///& lt;param name =“file path“& gt;文件路徑& lt/param & gt;

///& lt;退貨& gt成功標誌& lt/returns & gt;

私有bool savedatatocsfile(List & lt;學生& gt學生列表,字符串文件路徑)

{

bool successFlag = true

StringBuilder strColumn = new StringBuilder();

StringBuilder strValue = new StringBuilder();

StreamWriter sw = null

property info【】props = getpropertyinforyarray();

嘗試

{

sw = new StreamWriter(文件路徑);

for(int I = 0;我& lt道具。長度;i++)

{

strColumn。append(props【I】。姓名);

strColumn。追加(“,“);

}

strColumn。移除(str列。長度- 1,1);

西南。WriteLine(str column);//寫入列名

for(int I = 0;我& lt學生名單。數數;i++)

{

strValue。移除(0,strValue。長度);//清除臨時行值

strValue。追加(student list【I】。id);

strValue。追加(“,“);

strValue。追加(student list【I】。姓名);

strValue。追加(“,“);

strValue。追加(student list【I】。年齡);

西南。WriteLine(strValue);//寫入行值

}

}

catch(例外情況)

{

successFlag = false

}

最後

{

if(SW!=空)

{

西南。dispose();

}

}

返回successFlag

}

特定呼叫的簡單示例:

私有bool EricSunExportData(字符串文件夾、字符串文件名、字符串文件擴展名)

{

列表& lt學生& gtstudent list = GetStudentData();

string filePath = CreateFile(文件夾,文件名,文件擴展名);

bool flag = savedatocsvfile(student list,file path);

返回標誌;

}