2017-04-22 2 views
0

J'ai plusieurs fichiers .xls que je n'arrive pas à ouvrir dans Excel car ils sont trop gros. J'ai essayé de les importer dans Access 365, mais obtenir l'erreur Accès impossible d'accéder à l'information dans le fichier. J'ai lu les conseils de plusieurs forums ce matin mais les seules suggestions ne sont pas réalisables car elles nécessitent l'ouverture du fichier et l'enregistrement au format .xlsx, ce que je ne peux pas faire car comme indiqué plus haut je ne peux pas ouvrir le fichier. Tout conseil serait apprécié.Importer des fichiers .xls dans Access 365

Répondre

1

Comment pouvez-vous avoir un fichier Excel que vous ne pouvez pas ouvrir dans Excel? Vous devez avoir utilisé Excel, à un moment donné, pour créer le fichier. La seule limite, comme je le sais, est la RAM sur la machine avec laquelle vous travaillez.

Pouvez-vous essayer le script suivant?

Sub Import() 

     Dim strPathFile As String, strFile As String, strPath As String 
     Dim strTable As String 
     Dim blnHasFieldNames As Boolean 

     ' Change this next line to True if the first row in EXCEL worksheet 
     ' has field names 
     blnHasFieldNames = False 

     ' Replace C:\Documents\ with the real path to the folder that 
     ' contains the EXCEL files 
     strPath = "C:\Documents\" 

     ' Replace tablename with the real name of the table into which 
     ' the data are to be imported 
     strTable = "tablename" 

     strFile = Dir(strPath & "*.xls") 
     Do While Len(strFile) > 0 
       strPathFile = strPath & strFile 
       DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, _ 
        strTable, strPathFile, blnHasFieldNames 

     ' Uncomment out the next code step if you want to delete the 
     ' EXCEL file after it's been imported 
     '  Kill strPathFile 

       strFile = Dir() 
     Loop 

End Sub 

Si Access ne peut pas le gérer, et je trouve cela difficile à croire, vous pouvez utiliser SQL Server pour faire le travail.

http://www.accessmvp.com/KDSnell/EXCEL_Import.htm

Select * into SQLServerTable FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=D:\testing.xlsx;HDR=YES', 'SELECT * FROM [Sheet1$]') 

http://www.ashishblog.com/importexport-excel-xlsx-or-xls-file-into-sql-server/

Ou ... utiliser R pour cette tâche.

library(xlsx) 
file <- system.file("tests", "test_import.xlsx", package = "xlsx") 
res <- read.xlsx(file, 1) # read first sheet 
head(res[, 1:6]) 

http://www.sthda.com/english/wiki/r-xlsx-package-a-quick-start-guide-to-manipulate-excel-files-in-r

Si aucune de ces options ne fonctionne, je dirais que le fichier Excel est probablement corrompu, et c'est un problème tout à fait différent.

+0

Salut. Merci pour tout ce qui précède. RAM est le problème, il semble que l'ordinateur portable de travail ne suffit pas. Les fichiers sont des téléchargements du système à partir de Oracle db, ils n'ont donc pas été créés par un utilisateur. Mais le problème que j'avais en utilisant l'accès pour gérer les fichiers semblait être lié au fait que les fichiers étaient .xls et l'accès a dit qu'il ne pouvait pas lire les données. –