Формат ячейки Excel от ACE.OLEDB

У меня есть следующий код, который я обновляю ячейку в файле Excel, но не соответствует формату, который есть в моей ячейке:

string cad = @" Provider=Microsoft.ACE.OLEDB.12.0;" +
             @"Data Source=" + 
             Server.MapPath("~/SVG/" + filenameexport + ".xlsx;") + 
             @"Extended Properties=" + '"' + "Excel 12.0 Xml;HDR=NO" + '"';
try
{
    using (OleDbConnection con = new OleDbConnection(cad))
    {
        con.Open();
        string query = @"UPDATE [Cost Planning$] SET F9= ? WHERE F1 = 'Category'";
        using (OleDbCommand cmd = new OleDbCommand(query, con))
        {
            cmd.Parameters.AddWithValue("@param1", Convert.ToDateTime("2014/07/01"));
            cmd.ExecuteNonQuery();
        }
        con.Close();
    }
}

Как я могу заставить меня уважать формат ячейки?

Эта строка кода, куда я добавляю код?

((Excel.Range)worksheetobject.Range("A1")).EntireColumn.NumberFormat = "MM/DD/YYYY";

Потому что отправляемая ссылка - это когда сгенерирован файл Excel 0, а мой файл Excel создан.

1 ответ

Вы можете отформатировать столбец Excel, используя NumberFormat свойство (как обсуждено в Как сделать правильный формат даты при записи данных в Excel). Например, чтобы установить его в формат даты, как показано ниже:

((Excel.Range)worksheetobject.Range("A1")).EntireColumn.NumberFormat = "MM/DD/YYYY";
Другие вопросы по тегам