Exceltabelle: ähnliche Tabellenblätter auslesen
Romero
- javascript
hallo gemeinde
hab da mal folgende frage.wie kann ich mehrere ähnliche tabellen blätter einer exceltabelle auslesen?
sprich: ein tab.blatt heißt Ber_G000 das andere heißt Ber_G000_01 weil es ein ähnlicher ist wurde da das 01 drangehangen...
wie kann ich aber feststellen wenn die eingabe aber nur G000 ist (er dann quasi daraus die variable Ber_G000 macht), dass er dann 2 oder mehrere ähnliche tabellen findet?
mit /Ber_G000.+/ geht es ja.aber wie mach ich es bei variablen?also so ne art *-attribut?
function loadExcelFile( fileNameCheckFormat, sheetNameCheckFormat )
{
var x, y;
var currentRangeCheckFormat;
var currentSheetCheckFormat;
var excelAppCheckFormat = new ActiveXObject("Excel.Application");
var wbinCheckFormat;
try { wbinCheckFormat = excelAppCheckFormat.Workbooks.Open( fileNameCheckFormat ); }
catch(e)
{
STL_Meldungen_Fehler( "(!) konnte folgende Datei nicht öffnen: '" + fileNameCheckFormat + "' (!)" );
return [];
};
currentSheetCheckFormat = get_sheet_by_name( wbinCheckFormat, sheetNameCheckFormat );
if( currentSheetCheckFormat )
{
currentRangeCheckFormat = currentSheetCheckFormat.UsedRange;
if( currentRangeCheckFormat.Cells( 10, 4 ).Text.length != 17 )
{
document.getElementById( "msgs" ).innerHTML = '<img src="C:/test/Excel_Tabelle.jpg" align="right"></img><center><b>Es sind Fehler im Tabellen-Blatt "' + Eingabewerte.Alt_Text + '" aufgetreten:</b><br><br><b>Um das Stücklisten-Script erfolgreich zu nutzen, sollten Sie bitte folgende Formatierung wählen:</b><br><br><b>Darauf ist zu achten, dass:</b><br><br></center><b>[ 1 ].</b> - die Zeichnungsnummer in der "D"- bzw.<br><b style="text-align:left; margin-left:45px"></b>"J"-Spalte und die dazugehörige Anzahl<br><b style="text-align:left; margin-left:45px"></b>in der "C"- bzw. "I"-Spalte steht.<br><br><b>[ 2 ].</b> - die Liste aus dem TAKSY, ab der 8. Zeile<br><b style="text-align:left; margin-left:45px"></b>in der Tabelle beginnt.<br><br><center>Die entsprechenden Spalten sind farbig markiert.<br><br>Je nach Anzahl der Matten, sind hier 2 Varianten, wie das Tabellen-Blatt zu formatieren ist.</center>';
CheckFormat = false;
} else {
CheckFormat = true;
};
};
function get_sheet_by_name( wb, name )
{
var i;
for( i = 1; i < wb.Sheets.Count + 1; i++ )
{
if( wb.Sheets( i ).name == /name.+/ ) //--> hier sollten dann die eine oder mehrere tabellenblätter gefunden werden
{
return wb.Sheets( i );
};
};
STL_Meldungen_Fehler( "(!) Tabelle '" + name + "' nicht gefunden (!)" );
CheckFormat = false;
return false;
};
wbinCheckFormat.Close();
excelAppCheckFormat.Quit();
excelAppCheckFormat = null;
return;
};
gibt es da ne möglichkeit das variablen so ein *-attribut haben könnten oder wie kann ich es möglich machen das er da halt nich nur das tabellenblatt findet das genau so heißt wie die eingabe sondern das er alle findet,die ähnlich heißen...
eingabe: G000
tabblätter: Ber_G000,Ber_G000_01,Ber_G000_02,...
hier geht es halt nur dadrum das er erstmal nur alle findet...
lg romero
Hallo,
hab da mal folgende frage.wie kann ich mehrere ähnliche tabellen blätter einer exceltabelle auslesen?
damit sind wir sofort bei der Schlüsselfrage: Wie definierst du "ähnlich"?
sprich: ein tab.blatt heißt Ber_G000 das andere heißt Ber_G000_01
Aha, es geht also nur um den Namen des Tabellenblatts, nicht um seinen Inhalt (den hätte ich nämlich für das Kriterium "ähnlich" herangezogen).
weil es ein ähnlicher ist wurde da das 01 drangehangen...
Ein Steak ist gut abgehangen; Wäsche wird aber aufgehängt, und auch an einen Namen wird etwas ange_hängt_.
wie kann ich aber feststellen wenn die eingabe aber nur G000 ist ...
Indem du nicht exakt nach einem String suchst, sondern nur nach Fragmenten. Beispielsweise versuchst du im ersten String charakteristische Muster zu finden, und schaust dann im zweiten Schritt, ob die eim zweiten String auch wieder vorkommen.
(er dann quasi daraus die variable Ber_G000 macht)
Wer ist "er", und wieso kommen plötzlich Variablen ins Spiel?
mit /Ber_G000.+/ geht es ja.aber wie mach ich es bei variablen?also so ne art *-attribut?
Hä?
eingabe: G000
tabblätter: Ber_G000,Ber_G000_01,Ber_G000_02,...
Suche alle Ausdrücke, in denen der eingegebene String vorkommt.
Ciao,
Martin