2013-03-05 9 views
6

Chcę ustawić rozmiar każdej kolumny w pliku CSV, chcę ustawić rozmiar kolumny w stosunku do pola, nie wiem, gdzie mogę zrobić kod, aby ustawić rozmiar? Czy ktoś może pomóc to docenić, z góry dzięki.Jak ustawić rozmiar kolumny pliku csv?

To jest mój kod

function export($result) 
{ 
    Configure::write('debug',0); 
    $filename = "excel.".csv"; 
    $csv_file = fopen('php://output', 'w'); 
    header('Content-Type: text/csv; charset=utf-8'); 
    header('Content-Disposition: attachment; filename="'.$filename.'"');  

    // The column headings of .csv file 
    $header_row1 = array( 
         "Last Name", 
         "First Name", 
         "Middle Name", 
         ); 

    $header_row = array_merge($header_row1,$header_row2); 
    fputcsv($csv_file,$header_row,',','"'); 

    // Array indexes correspond to the field names in your db table(s) 
    if (!isset($result['Post']['User'])) { 
     $row1 = array(
      $result['Post']['prefix_name'], 
      $result['Post']['first_name'], 
      $result['Post']['middle_name'], 
      $result['Post']['last_name'], 
     ); 
    } 
    else { 
      $row1 = array(
      $result['Post']['prefix_name'], 
      $result['Post']['first_name'], 
      $result['Post']['middle_name'], 
      $result['Post']['last_name'], 
     ); 
    } 

    $row = array_merge($row1,$row2); 

    unset($row2); 
    fputcsv($csv_file,$row,',','"'); 
} 

    fclose($csv_file); 
    exit; 
} 
+3

Co dokładnie masz na myśli według rozmiaru kolumny CSV? Rozmiar jest tym, co zawartość jest przed ogranicznikiem ...? – jtheman

+0

"Kolumna", szukanym słowem jest "Kolumna". Ciekawe, ponieważ "CS" w "CSV" oznacza "oddzielone przecinkami", a więc nie jest pewne, jaki rozmiar kolumny ma tutaj do czynienia. –

+0

Nie ma limitu ani kolumny jako takiej w pliku CSV. Być może przeglądasz z punktu widzenia programu Excel. Możesz ustawić limit dla danych w swoim kodzie, definiując stałe. – vedarthk

Odpowiedz

14

Nie możesz ... plik CSV nie ma formatowania jakiejkolwiek formie, włącznie wielkości kolumny.

Jeśli chcesz kontrolować szerokość kolumn, musisz zapisać dane w formacie obsługującym szerokości kolumn, na przykład BIFF (.xls) lub OfficeOpenXML (.xlsx) lub OASIS Open Document Format (.ods) lub Gnumeric lub inny arkusz kalkulacyjny.

2

Jak wiem, nie można ustawić rozmiaru kolumny w pliku CSV, ponieważ nie ma absolutnie żadnych informacji o układzie prezentacji. CSV jest wartością oddzieloną od Coma.

Najlepszym zachowaniem dla użytkownika aplikacji, która otworzy plik, jest ustawienie szerokości kolumny tak, aby pasowała do danych.

Jeśli chcesz zarządzać układem prezentacji, powinieneś wygenerować treść HTML, którą można otworzyć za pomocą Excela (w przykładzie). W takiej zawartości możesz ustawić pewne atrybuty, takie jak width="400" ...

3

Nie ma sposobu, aby to zrobić.
CSV oznacza coma separated values:

A wartości oddzielonych odstępami przechowuje (CSV) Dane tabelaryczne (numery i tekst) w postaci zwykłego tekstu. Zwykły tekst oznacza, że ​​plik jest sekwencją znaków, bez danych, które muszą być zinterpretowane zamiast tego, jako liczby binarne . Plik CSV składa się z dowolnej liczby rekordów, oddzielonych podziałem wiersza; każdy rekord składa się z pól, oddzielonych innym znakiem lub ciągiem, najczęściej literalnym przecinkiem lub tabulatorem. Zwykle wszystkie rekordy mają identyczną sekwencję pól .

Krótka i jasna definicja.
Plik CSV jest zbyt prymitywny.
Czy próbowałeś kiedyś otworzyć plik CSV za pomocą zwykłego edytora tekstu?
Potrzebujesz XLS do tego przypadku.

Powiązane problemy