Für einen Teil einer Webanwendung muss der Benutzer einige Daten aus einer Tabellenkalkulation importieren. Zum Beispiel eine Liste von Namen und E-Mail-Adressen. Derzeit tun wir dies, indem wir den Benutzer auffordern, eine CSV-Datei zu suchen und hochzuladen.
Leider ist dies nicht immer möglich, da verschiedene IT-Systeme in Unternehmen den Benutzern nur den Zugriff auf Dateien aus Dokumentenmanagementsystemen gestatten und sie keine Berechtigung haben, diese auf einem lokalen Laufwerk oder einer Netzwerkfreigabe zu speichern.
Die Lösung, die wir haben, besteht darin, dem Benutzer zu erlauben, das gesamte Blatt (CSV) auszuschneiden und in einen Textbereich einzufügen und diesen zu übermitteln. Auf diese Weise erhalten Sie eine schöne tabulatorgetrennte Liste der Daten, die wie unten dargestellt leicht analysiert werden kann.
Lorem ipsum dolor sit amet
consectetur adipiscing elit Vivamus fermentum
Vivamus et diam eu eros
egestas rutrum Morbi id neque
id enim molestie tincidunt Nullam
Leider können verschiedene Zellen zu unerwarteten Ergebnissen führen. Im folgenden Satz sehen Sie ein " bei dem Wort Prerium, einen Tabulator bei dem Wort Suspendisse und einen Zeilenumbruch bei dem Wort Sollicitudin.
bibendum ante molestie lectus Sed
pret"ium "Susp endisse" "sollic
itudin" nisi at
urna Sed sit amet odio
eu neque egestas tincidunt Nunc
metus Curabitur at nibh Nulla
In diesem Fall kann ich nicht einfach auf Tabulatoren und Zeilenumbrüche aufteilen, ohne einen verbesserten Mechanismus, um mit den Tabulatoren, Anführungszeichen und Zeilenumbrüchen innerhalb der eigentlichen Daten umzugehen.
Kennt jemand einen Code, der dies zuverlässig bewerkstelligen kann? Oder sogar, ob man sich auf Excel und die Zwischenablage verlassen kann, um konsistente Ergebnisse zu erzielen?
Ich arbeite in Asp.net 3.5 mit C#. Die Excel-Version der Benutzer kann variieren, sollte aber immer Windows 2000/XP/Vista und IE 6/7 sein.