以下是按下按钮时导出Excel工作表的代码。
我删除了一些隐私代码。因此,如果您发现某些逗号或任何遗漏的错误,请忽略它。感谢
if(isset($_POST['export']))
{
$filename = "DEVICE_OUTPUT_DETAIL_$dvc.csv";
$fp = fopen('php://output', 'w');
$query = "SELECT `DATE`,`DC_VOLTAGE`,`DC_CURRENT`,`PVPANEL_KWH`,`PUMP_AMP`,`PUMP_VOLTAGE`,`PUMP_KW`,`PUMP_FREQ`
FROM wp_inverterdata where DEVICE_ID = '$dvccid'";
$result = mysql_query($query);
for($i=0;$i<=7;$i++)
{
$header[] = mysql_field_name($result, $i);
}
header('Content-type: application/csv');
header('Content-Disposition: attachment; filename='.$filename);
fputcsv($fp, $header);
$query12 = "SELECT
`DATE`,`DC_VOLTAGE`,`DC_CURRENT`,`PVPANEL_KWH`,`PUMP_AMP`,`PUMP_VOLTAGE`,`PUMP_KW`,`PUMP_FREQ`
FROM wp_inverterdata device_id = '$dvccid'";
$result12 = mysql_query($query12);
while($row12 = mysql_fetch_row($result12)) {
fputcsv($fp, $row12);
}
exit;
}
此代码工作正常。但问题出在显示数据的页面中我使用“Motor”字而不是表格标题中的“PUMP”。但是在数据库列名中以PUMP开头。 那么有没有办法在Excel中更改列名MOTOR而不是PUMP。
答案 0 :(得分:1)
如果您只想让excel的标题与数据库列名不同,那么您可以在SQL查询中使用AS
语句,这是一个Alias for Example
SELECT column_name(s)
FROM table_name AS alias_name;
因此,当您创建报告时,您将拥有所需的内容。 希望这有帮助
答案 1 :(得分:1)
您可以通过放置eg来更改select查询中的列。 &#39; DATE&#39; 作为日期
$query = "SELECT `DATE` as date,`DC_VOLTAGE` as DCVOLT,`DC_CURRENT` as DCCurr,`PVPANEL_KWH`,`PUMP_AMP`,`PUMP_VOLTAGE`,`PUMP_KW` as MotorKW,`PUMP_FREQ` as MotorFREQ
FROM wp_inverterdata where DEVICE_ID = '$dvccid'";
此致