Je souhaite download datatables excel, mais avant de download datatables, je souhaite m'assurer de ces données en premier. exemple: il y a une colonne vide si elle ne peut pas être téléchargée. La question simple, comment puis-je countr le nombre de lignes de chaque colonne qui a été téléchargée plus tôt?
alors la sortie sera ainsi:
Colonne 1: 50 lignes
Colonne 2: 49 lignes. par exemple (en supposant des données 1 vides)
Colonne 3: 47 lignes. par exemple (en supposant des données 3 vides)
Voici mon controller
for ($i = 1; $i <= $data['numRows']; $i++) { if($data['cells'][$i][1] == '') break; $kode=str_replace($simbol, '', $data['cells'][$i][1]); $dataexcel[$i-1]['kode_matkul'] = $kode; $dataexcel[$i-1]['nama_matkul'] = $data['cells'][$i][2]; $dataexcel[$i-1]['sks_a'] = $data['cells'][$i][3]; $dataexcel[$i-1]['sks_b'] = $data['cells'][$i][3]; $dataexcel[$i-1]['semester_matkul'] = $data['cells']$i][4]; }
J'essaie d'utiliser le echo count($data['cells'][$i][1])
mais cela ne fonctionne pas
Vous devrez créer un tableau pour contenir le nombre de cellules vides. Cela peut se faire en utilisant un seul tableau simple.
$emptyValues = array_fill(1,$data['num_rows'],0) ; //create array of predefined length and set all valuese to 0. for ($i = 1; $i <= $data['numRows']; $i++) { if($data['cells'][$i][1] == '') { $emptyValues[$i]++ ; break; } $kode=str_replace($simbol, '', $data['cells'][$i][1]); $dataexcel[$i-1]['kode_matkul'] = $kode; $dataexcel[$i-1]['nama_matkul'] = $data['cells'][$i][2]; $dataexcel[$i-1]['sks_a'] = $data['cells'][$i][3]; $dataexcel[$i-1]['sks_b'] = $data['cells'][$i][3]; $dataexcel[$i-1]['semester_matkul'] = $data['cells']$i][4];
}
Les $emptyValues
seraient quelque chose comme
[ 1 => 0, 2 => 1, //2nd column, 1 empty cell 3 => 3 ];
[[ 1 => 0, 2 => 1, //2nd column, 1 empty cell 3 => 3 ];
Ce qui précède n'est pas testé avant.