我使用ASP.net來製作一些應用程序,但我有一個問題,問題在於用戶應該導入excel文件(文件模式總是相同),但在excel文件中有一個細胞與一堆名字,看起來像這樣導入excel數據到SQL
ID Names
1 Mick Jagger
Elton John
2 James Hetfield
Axl Rose
等等,所以我必須每單元2名或更多的名字......到目前爲止,我進口的Excel文件的DataSet
sqlCMD.Connection.Open();
using (OleDbConnection excelConnection = new OleDbConnection(excelConnString))
{
using (OleDbCommand cmd = new OleDbCommand("Select " + CompanyID + ", *
From [Sheet1$]"
, excelConnection))
{
OleDbDataAdapter daSheet =
new OleDbDataAdapter(cmd.CommandText, excelConnection);
DataTable table;
table = new DataTable();
daSheet.Fill(table);
PreparedData.Tables.Add(table);
}
}
所以在成功導入之後,我列出了導入到數據集中的對象列表,這非常棒,但是每個單元格中的這2個或更多名稱給出我的麻煩,因爲在對象的價值它是這樣寫的「Mick Jagger \ n埃爾頓約翰」,所以我試圖取代它,並將其添加回數據集(我試圖創建新的數據集,但沒有成功)
int Rows = PreparedData.Tables[0].Rows.Count;
int Columns = PreparedData.Tables[0].Columns.Count;
for (int i = 0; i < Rows; i++)
{
for (int s = 0; s < Columns; s++)
{
if (s == 4 || s == 5 || s == 6 || s == 7)
{
object ValueToReplace;
object Replaced;
ValueToReplace = PreparedData.Tables[0].Rows[i].ItemArray[s];
Replaced = ValueToReplace.ToString().Replace("\n", ";");
PreparedData.Tables[0].Rows[i].ItemArray[s] = Replaced;
}
}
}
點這是在結束時,我想的是修改後的數據導入到使用我的SQL表(工作)
SqlBulkCopy bulkcopy = new SqlBulkCopy(sqlCMD.Connection);
bulkcopy.DestinationTableName = "Excel_Import";
try
{
bulkcopy.WriteToServer(FixedData);
}
catch (Exception e)
{
}
所以,你可以幫助我,指點我,我怎麼會修改
PreparedData.Tables[0].Rows[i].ItemArray[s] = Replaced;
謝謝你的男人......你幫我,這就像魅力! – Veljko89