Angka tidak ditampilkan dengan benar dalam laporan excel

0

masukkan deskripsi gambar di sini

Dalam pembuatan laporan excel, angka menampilkan 7.70225E + 11 tetapi seharusnya ditampilkan seperti 770225145579. Siapa pun tolong bantu untuk mengatasi masalah ini. Kode saya adalah,

<?php

include("connection.php");

if(isset($_POST['submit']) && $_POST['submit']=="Download")
    {
    $payor_code = $_POST['payor_code'];
        $corp_code= $_POST['corp_code'];
        $pro_type = isset($_POST['product_type']);
        $submit_date = $_POST['sub_date'];

 $sql= oci_parse($conn, "select * from members ");

oci_execute($sql);
$dat = date("d/m/Y");

    $filename = "Report_$dat";

header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=export.csv");
header("Pragma: no-cache");
header("Expires: 0");

$header = array(
    "ReceivedDate",
    "SubmissionDate",
    "PatientName",
    "PatientIC",
    "PrincipalName",
    "PrincipalIC",
    "ClaimNo"

       );

$fp = fopen('php://output', 'w');
fputcsv($fp, $header);

//$incr = 0;
while($row = oci_fetch_array($sql)) {

    $name = $row['RECEIVED_DATE'];
    $email = $row['SUBMISSION_DATE'];
    $mobile = $row['PATIENT_NAME'];
    $address = $row['NRIC_ID'];
    $city = $row['PRINCIPAL_NAME'];
    $state = $row['PRINCIPAL_NRIC'];
    $pincode = $row['CLAIMS_ID'];

        $fields = array ($name, $email, $mobile, $address,$city,$state,$pincode);

       fputcsv($fp, $fields);
  }
}
?>

Tolong selesaikan masalah ini. Saya harus mendapatkan output yang tepat setelah saya mengunduh laporan excel. Saya tidak ingin melakukan perubahan manual.


sumber
1
coba perpanjang lebar sel.
JW 웃
Berhati-hatilah bahwa Excel bekerja dengan angka floating point, yang mungkin tidak membutuhkan akurasi yang diperlukan untuk kebutuhan Anda. Anda mungkin mempertimbangkan casting ke string saja.
eggyal

Jawaban:

1

Anda memiliki beberapa opsi di sini (meskipun angka yang Anda panji terlihat lebih seperti ID unik daripada angka). Anda dapat berpotensi:

  1. Perpanjang lebar sel secara manual untuk melihat apakah itu sumber masalahnya

  2. Ketik ctrl 1, buka opsi excel, dan ubah tipe angka di kolom PatientIC dan PrincipalIC ke beberapa tipe yang konsisten

masukkan deskripsi gambar di sini

  1. (Jika 1 dan 2 gagal) Konfirmasikan bahwa sumber data atau proses yang membuat spreadsheet excel menyediakan / menghasilkan data secara akurat atau dalam format yang konsisten

Perhatian langsung saya adalah bahwa ada berbagai format yang diterapkan pada sel, baris, dan kolom yang berbeda. Misalnya, sel A5 dan A6 keduanya merujuk ke bulan Maret, namun format tanggal berbeda. Ini mungkin menjadi masalah dalam kolom PatientIC dan PrincipalIC.

Nathaniel Payne
sumber
0

Coba kode ini, ini berfungsi untuk saya:

$objPHPExcel
   ->getActiveSheet()
   ->getCellByColumnAndRow($col, $row)
   ->setValueExplicit($value, PHPExcel_Cell_DataType::TYPE_STRING);

Dan semoga beruntung !

MISSIRIA
sumber
1
Perhatikan bahwa format output adalah CSV yang dihasilkan menggunakan data dari database, bukan file XLS, sehingga PHPExcel tidak berlaku. Selain itu, PHPExcel sudah tidak digunakan lagi
telcoM