Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Spaltennummer nach Excel-Spaltenstring umwandeln. (https://www.delphipraxis.net/181883-spaltennummer-nach-excel-spaltenstring-umwandeln.html)

Dejan Vu 16. Sep 2014 12:28

AW: Spaltennummer nach Excel-Spaltenstring umwandeln.
 
Rekursion?

Chemiker 16. Sep 2014 13:13

AW: Spaltennummer nach Excel-Spaltenstring umwandeln.
 
Hallo bernau,

die Spaltenüberschriften müssen aber nicht zwingend mit Buchstaben angezeigt werden. Wenn man in Excel (z.B.: Excel 2007) unter [Excel-Optionen][ Formeln] „Z1S1 – Bezugsart “ einen Hacken setzt, so werden die Spalten als Zahlen angezeigt.

Bis bald Chemiker

Dejan Vu 16. Sep 2014 13:14

AW: Spaltennummer nach Excel-Spaltenstring umwandeln.
 
Das ist gemein. Die ganze Arbeit umsonst.

bernau 16. Sep 2014 13:23

AW: Spaltennummer nach Excel-Spaltenstring umwandeln.
 
Zitat:

Zitat von Chemiker (Beitrag 1272770)
die Spaltenüberschriften müssen aber nicht zwingend mit Buchstaben angezeigt werden. Wenn man in Excel (z.B.: Excel 2007) unter [Excel-Optionen][ Formeln] „Z1S1 – Bezugsart “ einen Hacken setzt, so werden die Spalten als Zahlen angezeigt.

Das ist in meinem Falle Wurscht :-D

Jumpy 16. Sep 2014 13:37

AW: Spaltennummer nach Excel-Spaltenstring umwandeln.
 
Zitat:

Zitat von bernau (Beitrag 1272735)
Zitat:

Zitat von Jumpy (Beitrag 1272716)
Das dürfte doch auch bei n=26 (und vielfachen davon) schief gehen.

Schreibtischtest:
für aIndex=26:
Result := chr(65 + aIndex mod 26) => chr(65 + 26 mod 26) => chr(65 + 0) => chr(65) => A
aIndex := aIndex div 26 => 26 div 26 => 1
if aIndex > 0 then => if 1>0 then => Wahr
Result := chr(64 + aIndex) + Result => chr(64+1)+CHR(65) => AA

Wieso schief gehen?

Ich fange mit dem Index = 0 an.

0 = A
1 = B
.
.
.
25 = Z
26 = AA
27 = AB

genau so bauche ich das. Und es funktioniert ;-)


Das war aber mal anders, Zitat aus #1:

Zitat:

Delphi-Quellcode:
result:=GetSpreadsheetColname(28); // -> Ergebnis = 'AB'

Ich bin daher davon ausgegangen, dass wie bei Excel üblich die erste Spalte, die Spaltennummer 1 hat und dann würde obiges schief gehen.

bernau 16. Sep 2014 13:52

AW: Spaltennummer nach Excel-Spaltenstring umwandeln.
 
Zitat:

Zitat von Jumpy (Beitrag 1272776)

Das war aber mal anders, Zitat aus #1:

Zitat:

Delphi-Quellcode:
result:=GetSpreadsheetColname(28); // -> Ergebnis = 'AB'

Ich bin daher davon ausgegangen, dass wie bei Excel üblich die erste Spalte, die Spaltennummer 1 hat und dann würde obiges schief gehen.

Das ist ja jetzt nicht die Welt. Oder? Als erste Anweisung ein
Delphi-Quellcode:
index:=index-1;
einfügen und schon beginnt die Spalte bei 1;


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:34 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz