2016-04-18 7 views
0

Leute,Schreiben auf offenen Excel-Anwendung mit NPOI

Umwelt

  • Windows-8.1
  • Visual Studio 2013
  • C#

Ausgabe

Wie schreibe ich Werte und machen Diagramme auf sichtbare Excel-Blätter mit NPOI (https://npoi.codeplex.com/).

Warum will ich das?

Ich entwickle eine Anwendung zur Messung der Temperatur in einem Gerät. Um experimentelle Daten an einem Ort zusammenzutragen, möchte ich Daten in einem Excel-Blatt aufzeichnen und ein Diagramm auf dem Blatt erstellen. Außerdem möchte ich das Excel-Blatt sichtbar halten und das Diagramm in Echtzeit aktualisieren.

Sie könnten auch Graphen auf Windows Form Apps mit MeasurementStudio von National Instruments zum Beispiel, aber unter Berücksichtigung der Flexibilität von Excel-Diagrammen (Größe und xy Bereich veränderbar, einfach zu bedienende Benutzeroberfläche, etc ...), würde ich gerne bei Excel bleiben.

Sie können dies einfach mit Microsoft.Office.Interop.Excel von tun. Dieses Modul erfordert jedoch, dass Benutzer jedes generierte COM-Objekt freigeben. Ansonsten bleiben die Objekte und fressen Speicher auf. Aus diesem Grund bevorzuge ich NPOI.

Wie kann ich das erreichen? Irgendwelche Antworten würden geschätzt werden.

Antwort

1

Sie können dies nicht mit NPOI tun. NPOI liest und schreibt Daten von serialisierten Excel-Dateien. Sie können nicht auf diese Dateien zugreifen, während Excel sie geöffnet hat, und selbst wenn Sie könnten, würde Excel einfach die Dateien nicht erneut lesen, so dass Ihre Änderungen nicht angezeigt würden.

Das Problem, das Sie beschreiben, kommt auf "Ich möchte mit einer laufenden Excel-Instanz interagieren, ohne Excel-Interop zu verwenden". Das wird nicht funktionieren.