• Home
  • Forum
  • Fare Web
  • PHP

Excel to CSV

  • Creatore Discussione Creatore Discussione nonsochisono
  • Data di inizio Data di inizio 23 Ago 2012
N

nonsochisono

Nuovo Utente
23 Ago 2012
7
0
1
  • 23 Ago 2012
  • #1
Salve a tutti
In poche parole io dovrei prendere un file .XLS aprirlo cancellare le colonne B e C, ed tutte quelle da E in poi, per salvarlo infine in un file CSV.
Ho scelto di optare per le classi PhpExcel di Codeplex.
Ma ho un piccolo problema in quanto nel mio codice apro prima il file Xls cancello B e C, e lo salvo in un file. Poi riapro questo file, cancello le altre colonne e salvo ancora.
Il problema e' che nel CSV finale mi ritrovo con l'ultima riga senza le colonne eliminate, e tutte le precedenti righe quindi con tutti i valori null.
Sto impazzendo aiutatemi, ecco il mio codice:
PHP:
<?php

error_reporting(E_ALL);
set_time_limit(0);

date_default_timezone_set('Europe/London');

?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

<title>PHPExcel Reader Raffa </title>

</head>
<body>

<h1>PHPExcel Reader Raffa </h1>
<h2>Simple File Reader Using a Configurable Read Filter</h2>
<?php

/** Include path **/
set_include_path(get_include_path() . PATH_SEPARATOR . '../../../Classes/');

/** PHPExcel_IOFactory */
include 'PHPExcel/IOFactory.php';


$inputFileType = 'Excel5';
//	$inputFileType = 'Excel2007';
//	$inputFileType = 'Excel2003XML';
//	$inputFileType = 'OOCalc';
//	$inputFileType = 'Gnumeric';
$inputFileName = './sampleData/prodotti.xls';
$sheetname = 'Foglio 01';

$objReader = PHPExcel_IOFactory::createReader('Excel5');
$objReader->setReadDataOnly(true);

$objPHPExcel = $objReader->load($inputFileName);

$objPHPExcel->getActiveSheet()->removeColumn( 'B',2);


$objWorksheet = $objPHPExcel->setActiveSheetIndex(0);
$highestRow = $objWorksheet->getHighestRow();
$highestColumn = $objWorksheet->getHighestColumn();

$headingsArray = $objWorksheet->rangeToArray('A1:'.$highestColumn.'1',null, true, true, true);
$headingsArray = $headingsArray[1];

$r = -1;
$namedDataArray = array();
for ($row = 2; $row <= $highestRow; ++$row) {
    $dataRow = $objWorksheet->rangeToArray('A'.$row.':'.$highestColumn.$row,null, true, true, true);
    if ((isset($dataRow[$row]['A'])) && ($dataRow[$row]['A'] > '')) {
        ++$r;
        foreach($headingsArray as $columnKey => $columnHeading) {
            $namedDataArray[$r][$columnHeading] = $dataRow[$row][$columnKey];
        }
    }
}
$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);
$objWriter->save('./sampleData/cazzone.xls');
$objWriter = new PHPExcel_Writer_CSV($objPHPExcel);
$objWriter->save('./sampleData/cazzone.csv');
echo '<pre>';
var_dump($namedDataArray);
echo '</pre><hr />';



$inputFileType = 'Excel5';
$inputFileName1 = './sampleData/cazzone.xls';
$sheetname1 = 'Foglio 01';

$objReader1 = PHPExcel_IOFactory::createReader('Excel5');
$objReader1->setReadDataOnly(true);

$objPHPExcel1 = $objReader1->load($inputFileName1);




$objWorksheet1 = $objPHPExcel1->setActiveSheetIndex(0);
$highestRow1 = $objWorksheet1->getHighestRow();
$highestColumn1 = $objWorksheet1->getHighestColumn();

$headingsArray1 = $objWorksheet1->rangeToArray('A1:'.$highestColumn1.'1',null, true, true, true);
$headingsArray1 = $headingsArray1[1];
$objPHPExcel1->getActiveSheet()->removeColumn( 'C',20);
$r = -1;
$namedDataArray1 = array();
for ($row = 2; $row <= $highestRow1; ++$row) {
    $dataRow1 = $objWorksheet1->rangeToArray('A'.$row.':'.$highestColumn1.$row,null, true, true, true);
    if ((isset($dataRow1[$row]['A'])) && ($dataRow1[$row]['A'] > '')) {
        ++$r;
        foreach($headingsArray1 as $columnKey => $columnHeading) {
            $namedDataArray1[$r][$columnHeading] = $dataRow1[$row][$columnKey];
        }
    }
}
$objWriter1 = new PHPExcel_Writer_CSV($objPHPExcel1);
$objWriter1->save('./sampleData/cazzone1.csv');

echo '<pre>';
var_dump($namedDataArray1);
echo '</pre><hr />';
 
Ultima modifica di un moderatore: 23 Ago 2012
Devi accedere o registrarti per poter rispondere.

Discussioni simili

[mysql] importazione csv o json o excel
  • FabioJ
  • 5 Mag 2020
  • Database
Risposte
0
Visite
2K
Database 5 Mag 2020
FabioJ
N
CSV doppi apici e punto e virgola da Excel tramite PHP
  • nofcfro
  • 26 Nov 2014
  • PHP
Risposte
2
Visite
3K
PHP 28 Nov 2014
nofcfro
N
D
Miglior modo per estrarre le occorrenze di un elemento in un set di più file xml e quindi scrivere il risultato in una tabella Excel o magari in JSON
  • dario_s
  • 23 Ott 2023
  • XML
Risposte
0
Visite
3K
XML 23 Ott 2023
dario_s
D
Formula Excel calcolo notti totali - Settore Turismo
  • andreas88
  • 15 Apr 2023
  • Windows e Software
Risposte
4
Visite
3K
Windows e Software 20 Apr 2023
andreas88
U
PHP creare un file excel dopo ricerca nel DB
  • Umberto Federico
  • 15 Giu 2022
  • PHP
Risposte
0
Visite
1K
PHP 15 Giu 2022
Umberto Federico
U
[EXCEL] Conteggio ore all'interno di una settimana
  • felino
  • 15 Gen 2021
  • Windows e Software
Risposte
7
Visite
3K
Windows e Software 19 Gen 2021
felino
M
File excel e LibreOffice
  • Max61
  • 4 Set 2020
  • PHP
Risposte
0
Visite
973
PHP 4 Set 2020
Max61
M
V
Come stampare su Excel tabella con rowspan e colspan
  • Vera
  • 17 Lug 2020
  • Javascript
Risposte
2
Visite
2K
Javascript 17 Lug 2020
marino51
PHP e script generazione file excel
  • felino
  • 3 Lug 2020
  • PHP
Risposte
2
Visite
1K
PHP 3 Lug 2020
felino
S
Problema esportazione tabelle Mysql in Excel
  • samurai.sette
  • 2 Giu 2020
  • PHP
Risposte
0
Visite
1K
PHP 2 Giu 2020
samurai.sette
S
W
Excel come filtrare una tabella
  • webfra01
  • 10 Mag 2020
  • Windows e Software
Risposte
2
Visite
2K
Windows e Software 11 Mag 2020
marino51
D
Merge nei fogli Excel con PHPSpreadsheet
  • DiegoPTn
  • 25 Apr 2020
  • PHP
Risposte
4
Visite
2K
PHP 27 Apr 2020
DiegoPTn
D
T
Da xsd a xml ed inserimento dati in excel
  • tappa81
  • 23 Apr 2020
  • XML
Risposte
0
Visite
2K
XML 23 Apr 2020
tappa81
T
E
Creazione gestionale timesheet partendo da foglio excel
  • elias86xxx
  • 20 Apr 2020
  • Offerte e Richieste di Lavoro e/o Collaborazione
Risposte
0
Visite
1K
Offerte e Richieste di Lavoro e/o Collaborazione 20 Apr 2020
elias86xxx
E
D
Layout di foglio Excel generato con PhpSpreadsheet
  • DiegoPTn
  • 16 Apr 2020
  • PHP
Risposte
5
Visite
2K
PHP 17 Apr 2020
DiegoPTn
D
Excel: popolare una cella con la data di modifica della riga a cui appartiene
  • felino
  • 5 Feb 2020
  • Windows e Software
Risposte
3
Visite
5K
Windows e Software 5 Feb 2020
felino
D
Difficile creazione excel di dati di grandi dimensioni
  • djjunior
  • 22 Gen 2020
  • Classic ASP
Risposte
2
Visite
2K
Classic ASP 28 Gen 2020
Paolo69
P
Convertire Excel in PHP
  • Pieroz
  • 6 Dic 2019
  • PHP
Risposte
1
Visite
2K
PHP 6 Dic 2019
macus_adi
M
conversione excel javascript
  • Maxivig
  • 28 Lug 2019
  • Javascript
Risposte
0
Visite
1K
Javascript 28 Lug 2019
Maxivig
M
S
[PHP] come esportare due tabelle in file excel su due fogli distinti
  • samurai.sette
  • 24 Gen 2019
  • PHP
Risposte
8
Visite
5K
PHP 6 Feb 2019
macus_adi
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?