Ich verwende apache poi api
, um ein Excel-Blatt in meiner Anwendung in Java zu erzeugen. Daten, die in Excel festgelegt sind, werden dynamisch mit dem Typ string ausgegeben. Für Spalte1 sind Werte alphanumerisch . Wenn ich Excel erzeuge, wird mir eine grüne Anzeige mit der Warnung "Als Text gespeichert als Nummer" oder "Textdatum mit zweistelliger Jahreszahl" in der Zelle angezeigt.
Ich möchte diese Warnung entfernen. Ich habe festgestellt, dass wir von Excel aus eine Zelle als 'Fehler ignorieren' markieren können, um die Warnung zu ignorieren.
Wie macht man das programmatisch oder gibt es eine andere Alternative, um diese Aufgabe zu erfüllen?
Ich habe auch einen Screenshot, der eine Warnung mit grüner Markierung zeigt.
Code:
%Vor%Scheinbar ist dies momentan mit Apache POI nicht möglich. Es gibt eine Reihe von Fehlerberichten / RFEs zum Thema:
Das tatsächliche Attribut (das Attribut, das besagt, dass eine solche Warnung ignoriert werden soll) ist im persistenten Excel-Format vorhanden und wird pro Zelle aufgezeichnet. Es ist nur so, dass Apache POI es nicht freigibt, soweit ich das anhand der Fehlerberichte feststellen kann.
Um Ihnen eine Vorstellung davon zu geben, wie dies im xlsx-Format von Excel aussieht:
%Vor% Ich habe irgendwo gelesen, dass dies nur in xlsx
(dh OOXML) beibehalten wird, nicht in xls
Format, was bedeutet, dass wenn das Apache POI-Team dies implementiert, es sich im XSSF-Paket befindet.
Ich hatte das gleiche Problem. Ich habe es gelöst, indem ich die Daten überprüft habe, ob es ein Integer / Float ist, und die Bedingung (CELL_TYPE) entsprechend setze. Finden Sie den Code Snippet:
%Vor%Hier sind Daten ein String aus dem Array der Liste aus der Datenquelle (Excel / CSV) Dies löste die grüne Warnung.
Für mich funktionierte keine der obigen Lösungen, aber am Ende wurden die Warnungen mit einer etwas verschachtelten Problemumgehung beseitigt: Schreiben der Werte als solche Formeln.
%Vor%Glauben Sie nicht, dass es immer eine gute Lösung ist, aber in meinem Fall werden die Werte der Ausgabedatei niemals geändert. Aber es könnte jemandem helfen.
Ich benutze Version 3.14 von Apache POI, falls es einen Unterschied macht (ich habe ein paar verschiedene Versionen vor der Problemumgehung ausprobiert, ohne Wirkung).
Tags und Links java excel apache-poi