21. oktober 2008 - 12:25Der er
10 kommentarer og 2 løsninger
Exportere til Excel med template
Jeg har en forespørgsel som jeg exporterer til et Excel regneark uden problemer, men nu er der nogen der er kommet i tanke om at det kunne være smart hvis de kalkulationer der efterfølgende skal laves allerede ligger i arket når det er blevet exporteret. Altså en eller anden form for template eller noget der indeholder beregningerne og som exporten så flettes sammen med. Jeg ved godt at jeg kan lave et ark og så åbne en kopi og så loope mig gennem en insert i forskellige felter, men det andet ville være smartere synes jeg.
Ja det er jeg helt med på, men jeg skal exportere nogle omsætningstal til videre behandling og da var det smart om man kunne template et og andet.
Synes godt om
Slettet bruger
21. oktober 2008 - 13:49#3
har du prøvet at lave en rapport og så eksportere til excel..
for en ting, som jeg ofte bruger på mine printpreviews af mine rapporter, er at lave en custom print værktøjslinie som indeholder eksporter til word/excel, det virker som regel!~)
Du kan godt linke til et eksisterende Excelark, som i forvejen indeholder nogle beregnende felter. Kan du evt. vise os første del af din kode, hvor du åbner excel?
Koden er der ikke noget særligt hokus pokus i. Jeg klargør data - har pt. ca. 1.800.000 records at vælge i blandt. Og så laver jeg et filnavn og eksporterer min query til det navn.
'Prepare data for printing / export fhpPrepare_Data
Det er en anden mere kompleks metode, men som giver muligheder for at indsætte mere præcist i excel, på forskellige ark osv. Der åbnes en Excelskabelon som jo så kan indeholde foruddefinerede sumfelter, grafer og alt det andet Excel kan.
Dim sSkabelon as as string Dim objExcelApp As Object 'late binding Dim objExcelDoc As Object 'late binding 'Dim objExcelApp As Excel.Application 'early binding 'Dim objExcelDoc As Excel.Workbook 'early binding
sSkabelon = "navnpådinExcelSkabelon"
Set objExcelApp = CreateObject("excel.application") 'late binding 'Set objExcelApp = New Excel.Application 'early binding
'Åbner skabelon (bruger .add i stedet for .open, da skabelonen så ikke overskrives) 'antager at skabelon ligger i samme mappe som databasen Set objExcelDoc = objExcelApp.Workbooks.Add(Application.CurrentProject.Path & "\" & sSkabelon & "") 'late binding
objExcelApp.Visible = True 'kan flyttes til sidst hvis excel først skal vises når alt er indsat
With objExcelDoc.Sheets(1) .Range("A1").Value = 1 .Range("A2").Value = 2 .Range("A3").Value = 3 End with
'rydder op Set objExcelDoc = Nothing Set objExcelApp = Nothing
Jeg lader lige spørgsmålet svæve i luften for at se om der ikke skulle være andre muligheder. (Jeg bruger Access/Excel 2007 hvis det skulle gøre nogen forskel)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.