0
我正在使用VS2005 C#,我試圖將一個excel文件導入SQL Server數據庫。從管道分隔的文本文件傳輸到.CSV後Excel行弄亂了
目前我正試圖直接將管道分隔的文本文件轉換爲.XLS格式。
但是我找不到辦法做到這一點,所以我試圖將管道分隔的文本文件轉換爲.CSV。
但最後,轉換完成後,我意識到在一些變量之間有一些默認的comman,導致行被搞亂。
有誰知道無論如何忽略變量中的默認commans,或使用其他變量而不是commans?下面是我的轉換函數的代碼:
protected void SaveAsExcelBtn_Click(object sender, EventArgs e)
{
//string strExcelOutputFilename = "C:/Documents and Settings/rhlim/My Documents/" + DateTime.Now.ToString("yyyyMMddHHmmss") + xlExtension;
// Before attempting to import the file, verify
// that the FileUpload control contains a file.
if (TextFile.HasFile)
{
// Get the name of the Excel spreadsheet.
string strFileName = Server.HtmlEncode(TextFile.FileName);
// Get the extension of the text.
string strExtension = Path.GetExtension(strFileName);
// Validate the file extension.
if (strExtension != ".TXT" && strExtension!=".txt")
{
Response.Write("<script>alert('Invalid text file!');</script>");
return;
}
if (DEMUserRoleRB.Checked)
{
string strExcelOutputFilename = "C:/" + "userrolelist" + xlExtension;
using (StreamWriter outputWriter = new StreamWriter(File.Create(strExcelOutputFilename)))
{
StreamReader inputReader = new StreamReader(TextFile.FileContent);
string fileContent = inputReader.ReadToEnd();
fileContent = fileContent.Replace('|', ',');
outputWriter.Write(fileContent);
//TextFile.SaveAs(strExcelOutputFilename);
inputReader.Close();
UploadStatusLabel.Text = "Conversion successful. File is stored at directory C:/";
}
}
}
else Response.Write("<script>alert('Please select a file');</script>");
}
謝謝
您好亞希阿,所以我會嘗試更換我的代碼 outputWriter.Write(fileContent); 與您的代碼? – gymcode
@RUHAHAO no ...它取代了上面的兩行...請看我上面的編輯... – Yahia
謝謝Yahia!有效!現在我的代碼不會受到指揮官的干擾。現在我沒有看到我新創建的Excel表中有任何逗號。我可以知道你的代碼是如何工作的嗎?只是一個簡單的解釋會爲我做。非常感謝! – gymcode