在.xls文件中转换日期格式,同时使用c#导出文件

时间:2012-04-02 12:31:51

标签: c#

我使用C#.net将数据导出到.xls文件(Excel doc)。 这里我有一个日期字段。现在我想更改日期格式。 Excel文档中的Diff-Diff日期格式。

protected void ExportToExcel(DataSet ds, string FilePath)
        {
            StreamWriter sw;
            StringBuilder strFileContents = new StringBuilder();
            strFileContents.Append("ID" + "\t" + "ItemName" + "\t" + "Initiated By" + "\t" + "Date of Initiation" + "\t" + "Date of Expiry" + "\t" + "Item Price" + "\t" + "Name" + "\t" + "Phone" + "\t" + "Company" + "\t" + "Address");
            strFileContents.Append("\n");
            if (ds != null)
            {
                foreach (DataRow row in ds.Tables[0].Rows)
                {
                    strFileContents.Append(row["ID"] + "\t");
                    strFileContents.Append(row["ItemName"] + "\t");
                    strFileContents.Append(row["UserName"] + "\t");
                    strFileContents.Append(row["DealInitiatedOn"] + "\t");
                    strFileContents.Append(row["DealExpiryDate"] + "\t");
                    strFileContents.Append(row["ItemPrice"] + "\t");
                    strFileContents.Append(row["FullName"] + "\t");
                    strFileContents.Append(row["Phone"] + "\t");
                    strFileContents.Append(row["Company"] + "\t");
                    strFileContents.Append(row["Address"] + "\t");
                    strFileContents.Append("\n");
                }
            }
            sw = System.IO.File.CreateText(FilePath);
            sw.Write(ISpace.CommLive.UI.User.CommonFunctions.StripHTMLTags(strFileContents.ToString()));
            sw.Close();
        }

谢谢, Jagadi

2 个答案:

答案 0 :(得分:0)

DateTime.ToString()方法允许您指定格式参数。

string myFormat = "yyyy-mm-dd" // <= your format goes here
strFileContents.Append(((DateTime)row["DealExpiryDate"]).ToString(myFormat) + "\t");

答案 1 :(得分:0)

请你试试以下

string format = "yyyy-mm-dd";
strFileContents.Append((DateTime.Parse(row["DealExpiryDate"])).ToString(format) + "\t");

如果需要,也可以使用DateTime.TryParse而不是Parse函数。

替代方法:

string format = "yyyy-mm-dd";
DateTime? expDate = row.Field<DateTime?>("DealExpiryDate");
if(expDate.HasValue)
{
    strFileContents.Append(expDate.Value.ToString(format) + "\t");
}