2013-08-16 10 views
5

Używam PHPExcel do generowania xl przy użyciu php. Nie wczytuję arkusz xl ale tworzenie nowych arkuszy używającJak ustawić aktywny arkusz bez ładowania pliku xlsx?

$phpExcel = new PHPExcel(); 
$phpExcel->getActiveSheet()->setTitle("My Sheet"); 

Chcę ustawić aktywny arkusz używając phpExcel użyciu $phpExcel->setActiveSheetIndexByName("2");

ale im uzyskiwanie błąd setActiveSheetIndexByName not defined function.

Proszę o pomoc

+2

Czy to naprawdę takie trudne, aby wpisać "excel" zamiast "xl"? –

Odpowiedz

0

Ty nie powinno być potrzebne ByName. Wypróbuj tylko setActiveSheetIndex(2);.

17

Oczywiście trzeba utworzyć/dodać dodatkowe arkusze, aby móc zmienić aktywny arkusz: za pomocą nowej funkcji PHPExcel() zostanie utworzony tylko skoroszyt zawierający pojedynczy arkusz.

Możesz ustawić aktywny arkusz za pomocą indeksu arkusza (arkusze są indeksowane od 0);

$objPHPExcel->setActiveSheetIndex(2); 

lub nazwy

$objPHPExcel->setActiveSheetIndexByName('My Second Sheet'); 

dodanie nowego arkusza stosując albo createSheet() lub addSheet() metody będą ustawiane automatycznie, że nowy arkusz do aktywnego arkusza. Domyślnie każdemu nowemu arkuszowi będzie nadawana nazwa zawierająca słowo "Arkusz roboczy" i numer, dopóki nie zostanie zmieniona setTitle().

+0

dołączyłem 3 arkusze przy użyciu funkcji addSheet(), ale chcę ustawić pierwszy arkusz jako aktywny. Czy to możliwe? – Simone

+0

Oczywiście jest to możliwe: indeksowane od 0, pierwszy arkusz zostanie zindeksowany na 0, więc '$ objPHPExcel-> setActiveSheetIndex (0);' –

+0

Alternatywnie, '$ objPHPExcel-> setActiveSheetIndexByName ($ objPHPExcel-> getSheetNames() [0 ]); 'jeśli używasz wersji PHP, która pozwala na dereferencję w tablicy –

4

Dodaj poniżej funkcji w Excel.php pliku klasy:

function setActiveSheet($sheetnumber) { 
     $this->objPHPExcel->setActiveSheetIndex($sheetnumber); 
    } 

następnie wywołać tę funkcję tak:

$phpExcel->setActiveSheet(0); 
Powiązane problemy