Izvoz v XLSX: Razlika med redakcijama
Iz SDMS
Jump to navigationJump to search (Nova stran z vsebino: == CRS*.XML (transformacije koordinatnih sistemov) == Transformacije koordinatnih sistemov so vgrajene v sam program. Parametri za Helmertovo 7-parametrsko transformacijo pa...) |
m |
||
| Vrstica 1: | Vrstica 1: | ||
| − | == | + | == Prenos podatkov iz baze == |
| − | |||
| − | |||
<pre> | <pre> | ||
| − | + | Sub TabelaXLS | |
| − | + | Dim XLS As TXlsWriter, XLSF As TXlsField | |
| − | + | Dim L as TLayer | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | // inicializiramo writer in prvi list | |
| − | + | XLS = CreateXlsWriter | |
| − | + | XLS.AddSheet('List 1') | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | === | + | // pripravimo definicijo stolpcev |
| − | + | XLS.Table.Clear // prvi klic je opcijski, počisti definicijo stolpcev | |
| − | + | XLSF = XLS.Table.AddCounter('Zap. št.') // zapisi bodo oštevilceni | |
| − | + | XLSF.FooterValue = 'Skupaj' // v footerju bo fiksen tekst | |
| − | + | XLS.Table.AddFieldByName('Naslov polja', 'polje1') // fiksno nastavimo ime stolpca | |
| + | XLS.Table.AddFieldByName('', 'polje2') // ime stolpca je ime polja | ||
| + | XLSF = XLS.Table.AddFieldByName('Število', 'polje3') // numerično polje | ||
| + | XLSF.FooterValue = xlscvAutoColSum // v footerju bo vsota stolpca | ||
| + | XLSF = XLS.Table.AddFormula('Vsota 3 in 4', 'IntToStr([polje3].AsNumber + [polje4].AsNumber)') // Basic formula | ||
| + | XLSF.FooterValue = xlscvAutoColSum // v footerju bo vsota stolpca | ||
| + | XLSF = XLS.Table.AddValue('Vsota levo', xlscvAutoRowSum) // v stolpcu bo vsota številk v vrstici | ||
| + | XLSF.FooterValue = xlscvAutoColSum // v footerju bo vsota stolpca | ||
| − | + | // pripravimo podatke | |
| − | + | L = [Layer] | |
| − | + | L.Filter.ExecuteSQL('[polje1] = 10') | |
| − | + | L.Sort.Load('Default') | |
| − | + | L.Sort.Execute | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | // zapišemo podatke po dani definiciji | |
| − | + | XLS.Table.AddRecordList('Naslov', L.FilteredRecords) // naslov je opcijski | |
| − | |||
| − | + | // nastavimo še robove celic | |
| − | + | RoboviXLS(XLS) | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | // dodamo nov list | |
| + | XLS.AddSheet('List 2') | ||
| − | + | // pripravimo nove podatke | |
| − | + | L = [Layer] | |
| − | + | L.Filter.ExecuteSQL('[polje1] = 20') | |
| − | + | L.Sort.Load('Default') | |
| − | + | L.Sort.Execute | |
| − | + | ||
| − | + | // zapišemo podatke po dani definiciji | |
| − | + | XLS.Table.AddRecordList('Naslov', L.FilteredRecords) // naslov je opcijski | |
| − | |||
| − | |||
| − | |||
| − | + | // nastavimo še robove celic | |
| − | + | RoboviXLS(XLS) | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | // shranimo v file in sprostimo writer | |
| − | + | XLS.SaveToFile('c:\temp\test.xlsx') | |
| − | + | XLS.Destroy | |
| − | + | EndSub | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | Sub RoboviXLS(XLS As TXlsWriter) | |
| − | + | XLS.SetBorders(XLS.Table.LeftTop.RelativeAddress(-1,0), XLS.Table.RightTop.RelativeAddress(-1,0), xlsbtAll, xlsbsMedium, xlsbsUnchanged, Black) // obroba naslova | |
| − | + | XLS.SetBorders(XLS.Table.LeftTop.Address, XLS.Table.RightBottom.Address, xlsbtHor, xlsbsUnchanged, xlsbsThin, Black) // horizontalne črte jedra tabele | |
| − | + | XLS.SetBorders(XLS.Table.LeftTop.Address, XLS.Table.RightTop.Address, xlsbtAll, xlsbsMedium, xlsbsUnchanged, Black) // obroba headerja | |
| − | + | XLS.SetBorders(XLS.Table.LeftTop.Address, XLS.Table.RightBottom.Address, xlsbtAll, xlsbsMedium, xlsbsUnchanged, Black) // obroba tabele | |
| − | + | XLS.SetBorders(XLS.Table.LeftBottom.Address, XLS.Table.RightBottom.Address, xlsbtAll, xlsbsMedium, xlsbsUnchanged, Black) // obroba footerja | |
| − | + | EndSub | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
</pre> | </pre> | ||
Redakcija: 14:32, 11. marec 2021
Prenos podatkov iz baze
Sub TabelaXLS
Dim XLS As TXlsWriter, XLSF As TXlsField
Dim L as TLayer
// inicializiramo writer in prvi list
XLS = CreateXlsWriter
XLS.AddSheet('List 1')
// pripravimo definicijo stolpcev
XLS.Table.Clear // prvi klic je opcijski, počisti definicijo stolpcev
XLSF = XLS.Table.AddCounter('Zap. št.') // zapisi bodo oštevilceni
XLSF.FooterValue = 'Skupaj' // v footerju bo fiksen tekst
XLS.Table.AddFieldByName('Naslov polja', 'polje1') // fiksno nastavimo ime stolpca
XLS.Table.AddFieldByName('', 'polje2') // ime stolpca je ime polja
XLSF = XLS.Table.AddFieldByName('Število', 'polje3') // numerično polje
XLSF.FooterValue = xlscvAutoColSum // v footerju bo vsota stolpca
XLSF = XLS.Table.AddFormula('Vsota 3 in 4', 'IntToStr([polje3].AsNumber + [polje4].AsNumber)') // Basic formula
XLSF.FooterValue = xlscvAutoColSum // v footerju bo vsota stolpca
XLSF = XLS.Table.AddValue('Vsota levo', xlscvAutoRowSum) // v stolpcu bo vsota številk v vrstici
XLSF.FooterValue = xlscvAutoColSum // v footerju bo vsota stolpca
// pripravimo podatke
L = [Layer]
L.Filter.ExecuteSQL('[polje1] = 10')
L.Sort.Load('Default')
L.Sort.Execute
// zapišemo podatke po dani definiciji
XLS.Table.AddRecordList('Naslov', L.FilteredRecords) // naslov je opcijski
// nastavimo še robove celic
RoboviXLS(XLS)
// dodamo nov list
XLS.AddSheet('List 2')
// pripravimo nove podatke
L = [Layer]
L.Filter.ExecuteSQL('[polje1] = 20')
L.Sort.Load('Default')
L.Sort.Execute
// zapišemo podatke po dani definiciji
XLS.Table.AddRecordList('Naslov', L.FilteredRecords) // naslov je opcijski
// nastavimo še robove celic
RoboviXLS(XLS)
// shranimo v file in sprostimo writer
XLS.SaveToFile('c:\temp\test.xlsx')
XLS.Destroy
EndSub
Sub RoboviXLS(XLS As TXlsWriter)
XLS.SetBorders(XLS.Table.LeftTop.RelativeAddress(-1,0), XLS.Table.RightTop.RelativeAddress(-1,0), xlsbtAll, xlsbsMedium, xlsbsUnchanged, Black) // obroba naslova
XLS.SetBorders(XLS.Table.LeftTop.Address, XLS.Table.RightBottom.Address, xlsbtHor, xlsbsUnchanged, xlsbsThin, Black) // horizontalne črte jedra tabele
XLS.SetBorders(XLS.Table.LeftTop.Address, XLS.Table.RightTop.Address, xlsbtAll, xlsbsMedium, xlsbsUnchanged, Black) // obroba headerja
XLS.SetBorders(XLS.Table.LeftTop.Address, XLS.Table.RightBottom.Address, xlsbtAll, xlsbsMedium, xlsbsUnchanged, Black) // obroba tabele
XLS.SetBorders(XLS.Table.LeftBottom.Address, XLS.Table.RightBottom.Address, xlsbtAll, xlsbsMedium, xlsbsUnchanged, Black) // obroba footerja
EndSub