0
我想生成一個Excel,我可以得到Excel,但一些數據(實際上是一個單元格內容)丟失。例如:在SQL Server查詢(應該在一個單元格顯示在Excel中像這樣的建議列):從SQL服務器生成CSV文件並檢索數據
建議 類型:恭維類別:醫生姓名:嘿
然而,在我的Excel中,下欄目建議,它只顯示我 - 類型:讚美,然後類別:醫生姓名:嘿失蹤。 也許我的foreach是錯誤的或我錯誤地檢索數據的方式。
private DataTable GetData(SqlCommand cmd)
{
DataTable dt = new DataTable();
String strConnString = System.Configuration.ConfigurationManager.ConnectionStrings["DBConnStr"].ConnectionString;
SqlConnection con = new SqlConnection(strConnString);
SqlDataAdapter sda = new SqlDataAdapter();
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
try
{
con.Open();
sda.SelectCommand = cmd;
sda.Fill(dt);
return dt;
}
catch (Exception ex)
{
throw ex;
}
finally
{
con.Close();
sda.Dispose();
con.Dispose();
}
}
protected void GenerateCSV_Click(object sender, EventArgs e)
{
//First file Inpatient
StringBuilder sb = new StringBuilder();
//fill up DT here
string strQuery ="Select * from table AND Date BETWEEN @FDT AND @TDT"
SqlCommand cmd = new SqlCommand(strQuery);
string fromdate = tbStartDate.Text;
DateTime fdt = Convert.ToDateTime(fromdate);
string todate = tbEndDate.Text;
DateTime tdt = Convert.ToDateTime(todate);
cmd.Parameters.AddWithValue("@FDT", fdt);
cmd.Parameters.AddWithValue("@TDT", tdt);
DataTable dt = GetData(cmd);
//end
for (int k = 0; k < dt.Columns.Count; k++)
{
//add separator
sb.Append(dt.Columns[k].ColumnName + ',');
}
//append new line
sb.Append("\r\n");
for (int i = 0; i < dt.Rows.Count; i++)
{
for (int k = 0; k < dt.Columns.Count; k++)
{
if (dt.Columns[k].ColumnName.Equals("CommentsSuggestions"))
{
//add separator
sb.Append("\"" + dt.Rows[i][k].ToString().Replace(",", ";") + "\"" + ',');
}
else
{
//add separator
sb.Append(dt.Rows[i][k].ToString().Replace(",", ";") + ',');
}
}
//append new line
sb.Append("\r\n");
}
File.WriteAllText(@"C:\ExportCSV\Inpatient.csv", sb.ToString());
對不起,我沒有完全寫,其SELECT * FROM ....那裏某物= ......而日之間的「@ FDT'和'@TDT' –