J'ai actuellement une méthode qui reçoit un tableau d'octets d'un fichier Excel. Cela a fonctionné très bien, et je l'ai fait différencier les types de fichiers (.xls
, et .xlsx
) en fonction des deux premiers octets du fichier. Si c'est un .xlsx
il a commencé avec un PK. Malheureusement, maintenant je reçois .xlsm
fichiers envoyés, et je ne sais pas quel octet diffère de les différencier. Je n'ai pas le nom de fichier à ce stade pour obtenir l'extension.Différencier les types de fichiers excel basés sur des octets, pas sur l'extension
1
A
Répondre
1
La seule différence entre .xlsx et .xlsm est que ce dernier peut inclure des macros. Je suis tout à fait sûr que vous avez besoin de plus d'analyse du fichier pour le découvrir.
Notez que le nombre magique "PK" (en fait c'est PK \ x03 \ x04) au début du fichier .xlsx fait référence aux données compressées ZIP. Pour continuer à analyser le fichier, vous devez d'abord le décoder (décompresser) selon le format de fichier ZIP.
Questions connexes
- 1. Puis-je différencier CSS sur les différents types d'entrée?
- 2. .htaccess sur des types de fichiers spécifiques
- 3. en utilisant des URI basés sur des fichiers ou non
- 4. Limiter les types de fichiers sur des gouttelettes
- 5. Création de types anonymes basés sur l'expression lambda
- 6. Implémentation des assistants basés sur les rôles
- 7. Existe-t-il une technique pour différencier le comportement des classes sur les types génériques?
- 8. git-ignorer les fichiers basés sur la télécommande?
- 9. changement de nom en vrac de fichiers basés sur recherche
- 10. Déclencheurs basés sur des propriétés de DataContext
- 11. Recherche de sites Web basés sur le cloud computing basés sur des bases de données
- 12. Prévenir l'aperçu des types de fichiers UTI personnalisés sur l'iPad
- 13. Aide sur les composants basés sur les événements
- 14. Modules basés sur Zend
- 15. Les frameworks Web Python basés sur WSGI
- 16. Sélection d'index basés sur les noms de colonne/table
- 17. Générer plusieurs fichiers XML basés sur la base de données
- 18. Que sont les services basés sur C et les services basés sur Java?
- 19. Calendrier Grégorien - tests basés sur des documents
- 20. Comment différencier uniquement les fichiers source?
- 21. Question sur les contrôles basés sur un modèle personnalisé
- 22. problème de comparer deux fichiers basés sur datetime jusqu'à minutes?
- 23. Afficher gamme de numéros basés sur des milliers de dossiers
- 24. Renvoi de types définis par l'utilisateur sur Excel VBA
- 25. Quels sont les CMS basés sur .Net les plus populaires?
- 26. Scala: Définition des cas de test basés sur le dossier
- 27. Tri d'objets basés sur des valeurs Double?
- 28. retourner des produits distincts basés sur product_id
- 29. Organisation des fichiers de ressources ASP.NET dans des dossiers basés sur le langage
- 30. FIlter répertoires basés sur l'horodatage
Merci, je vais juste ajouter une méthode qui prend aussi l'extension de fichier en paramètre. Sauvez-moi le mal de tête d'essayer de le comprendre. Sucks que Excel se fonde sur cette extension étant correcte tout le temps – CaffGeek
'suce' et 'excelle' en une phrase .. me semble familier: D – ypnos