php - 使用 PHPExcel 和 Codeigniter 导出 XLS 时出现 ID 问题
问题描述
我在使用PHPExcel
and时无法导出 XLS 文件,导出时Codeigniter
没有错误,但查询是LEFT JOIN
另一个表,这是 postgresql 查询
SELECT *
FROM consultas
LEFT JOIN consulta_respuestas ON consultas."ID"= consulta_respuestas.consultaid
LEFT JOIN usuarios ON consultas.responsable = usuarios."ID"
查询工作得很好,问题是在导出文件时 ID 列来自 usuarios 表,我希望它来自咨询表。
有没有办法忽略 usuarios 表中的 ID?
这是导出代码:
class Excel_export extends CI_Controller {
function index()
{
$this->load->model("excel_export_model");
$data["employee_data"] = $this->excel_export_model->fetch_data();
$this->load->view("excel_export_view", $data);
}
function action()
{
$this->load->model("excel_export_model");
$this->load->library("excel");
$object = new PHPExcel();
$object->setActiveSheetIndex(0);
$table_columns = array("ID", "Fecha Consulta", "Nombre", "Consulta", "País", "Ciudad", "Escolaridad", "Ocupación", "Vía", "Responsable", "Respuesta", "Fecha Respuesta", "Palabra Clave");
$column = 0;
foreach($table_columns as $field)
{
$object->getActiveSheet()->setCellValueByColumnAndRow($column, 1, $field);
$column++;
}
$employee_data = $this->excel_export_model->fetch_data();
$excel_row = 2;
foreach($employee_data as $row)
{
$object->getActiveSheet()->setCellValueByColumnAndRow(0, $excel_row, $row->ID);
$object->getActiveSheet()->setCellValueByColumnAndRow(1, $excel_row, $row->consulta_fecha);
$object->getActiveSheet()->setCellValueByColumnAndRow(2, $excel_row, $row->nombre);
$object->getActiveSheet()->setCellValueByColumnAndRow(3, $excel_row, $row->consulta);
$object->getActiveSheet()->setCellValueByColumnAndRow(4, $excel_row, $row->pais);
$object->getActiveSheet()->setCellValueByColumnAndRow(5, $excel_row, $row->ciudad);
$object->getActiveSheet()->setCellValueByColumnAndRow(6, $excel_row, $row->escolaridad);
$object->getActiveSheet()->setCellValueByColumnAndRow(7, $excel_row, $row->ocupacion);
$object->getActiveSheet()->setCellValueByColumnAndRow(8, $excel_row, $row->via);
$object->getActiveSheet()->setCellValueByColumnAndRow(9, $excel_row, $row->username);
$object->getActiveSheet()->setCellValueByColumnAndRow(10, $excel_row, $row->respuesta);
$object->getActiveSheet()->setCellValueByColumnAndRow(11, $excel_row, $row->cierre_consulta);
$object->getActiveSheet()->setCellValueByColumnAndRow(12, $excel_row, $row->palabraclave);
$excel_row++;
}
$object_writer = PHPExcel_IOFactory::createWriter($object, 'Excel5');
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="Reporte.xls"');
$object_writer->save('php://output');
}
解决方案
推荐阅读
- python - 对象在创建时在 python 中不可迭代,使得类可迭代对象
- kotlin - TornadoFX 将 ObservableList 映射到不同的 ObservableList
- pandas - 熊猫每行应用多列而不是列表
- java - 使用 toString 拆分 observableList
- reactjs - 反应选择自定义标题
- android - 是否可以在 Firestore 中进行双重交易的单一文件?
- python - 在 for 循环中将向量重置为初始状态
- c# - 当站点名称包含空格时,将文件从 C# 上传到 SharePoint Online 站点
- python - 在 Python 中使用时间约束对两个数据帧进行数据操作
- javascript - jQuery - 复选框启用/禁用 - 与 DB