Fractionner les grands Excel/Csv fichier à plusieurs fichiers PHP ou Javascript
J'ai excel(file.xls)/csv(fichier.csv fichier qui contient/contiennent des centaines de milliers d'entrée, voire des millions, je crois. Est-il possible de scinder ce de un à plusieurs fichier? Comme file.xls pour file1.xls, file2.xls, file3.xls et ainsi de suite.
Sont là les bibliothèques à utiliser? Est-ce possible sur PHP? ou comment à propos de javascript?
Où je peux spécifier le nombre de lignes à inclure sur chaque fichier?
Grâce
- Tu parles d'une xls (BIFF) fichier? ou à propos d'un fichier csv? ou un fichier csv avec une extension .xls? Excel xls fichiers et les fichiers CSV deux sont très différents... et un xls (BIFF) fichier est limité à 65535 lignes, de sorte que si vos données est répartie sur plusieurs feuilles de calcul, il est impossible d'avoir des millions d'entrées
- deux d'entre eux. Possible une croix compatibilité de code qui permettra de travailler à la fois au format csv ou excel. est-ce même possible?
- C'est possible, mais vous êtes potentiellement allez avoir des problèmes de mémoire et de ralentissement des performances lorsque l'on parle de ces grands volumes de données en un xls. Mon PHPExcel bibliothèque peuvent le faire, mais je vous conseille de coller des droites CSV qui peut être facilement transformé une ligne à la fois
- PHPExcel, de sorte que vous n'écrit que de la bibliothèque. Excellent! Pour l'instant max entrées de CSV est de 100 000 pour un test. Peut-être que je rôdent autour avec elle si vous présenter comment faire? merci
Vous devez vous connecter pour publier un commentaire.
Façon rapide et sale de fractionnement d'un fichier CSV dans plusieurs fichiers CSV
Oui, il est possible de le faire en PHP et avec les fichiers CSV. En gros, vous itérer sur les gros fichier et bloc toutes les X lignes, le transfert de ces lignes à un autre fichier.
De trouver l'information, comment ouvrir le grand fichier CSV comme un itérateur dans cette réponse ici:
Alors vous avez besoin de segmenter l'itérateur chaque X lignes de pièces. Qui peut être fait en ligne ici:
Juste au lieu de la sortie en plusieurs
<ul>...</ul>
listes HTML, vous copier dans un nouveau fichier. Qui fonctionne essentiellement comme décrit dans:Mais cette fois, vous voulez utiliser le
SplFileObject::fputcsv
méthode. Prenez soin de vous d'utiliser la dernière version stable de PHP pour cela, sinon vous avez besoin de faire différentes, voirfputcsv()
.Si la première ligne du fichier d'origine contient la colonne d'en-têtes, vous risquez d'être aussi intéressé par ce qui suit:
Il montre juste quelques façons d'étendre cette incomming fichier. Vous ne pourriez pas besoin de l'abstraction complète qui s'y fait, en gardant juste la première ligne autour de peut le faire déjà.
Je pense que Vous pouvez également utiliser "divisé par la taille du fichier":