У меня есть таблица, которая содержит много столбцов. Некоторые столбцы содержат числовые значения, некоторые содержат текст, а некоторые содержат дату.
Когда я пытаюсь экспортировать данные в Excel, числовое значение и значение можно экспортировать, однако, когда я хочу экспортировать данные даты, он показывает мне эту ошибкуMsgstr "Объект класса DateTime не может быть преобразован в строку".
Моя функция экспорта работает таким образом, что пользователь может выбрать, какой столбец он хочет экспортировать из SQL, чтобы преуспеть через PHP. Мой столбец хранится в массиве. Ниже мой код:
//Get list of selected column from selected checkboxes
$colarray = $_GET['colarray'];
//convert string to array
$string1 = ['[',']'];
$string2 = ["",""];
$newcolarray = str_replace($string1, $string2, $colarray);
$newarray = explode(",",$newcolarray);
$filename = "File name " . date('d-M-y') . ".csv"; // Create file name
$f = fopen('php://memory', 'w');
//Insert column name in first row of excel
fputcsv($f, $newarray);
//dynamic Select query statement
$query = "SELECT ";
$query .= $colarray;
$query .= " FROM OVERALL_SUMMARY_ORIGINAL"; // Get data from Database from OVERALL_SUMMARY_ORIGINAL table
$stmt = sqlsrv_query($conn, $query);
while($row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC)){
/**how can i place this code $row['Date']->format('d M Y') here***/
fputcsv($f, $row);
}
//move back to beginning of file
fseek($f, 0);
//set headers to download file rather than displayed
header('Content-Type: text/csv');
header('Content-Disposition: attachment; filename="' . $filename . '";');
//output all remaining data on a file pointer
fpassthru($f);
Может кто-нибудь помочь, как я могу преобразовать мои данные даты в строку, так как мои столбцы хранятся в массиве для экспорта в CSV?