2017-02-28 1 views
0

J'utilise ClosedXML pour créer des rapports pour des personnes dans Excel. Il y a 3 problèmes pour lesquels j'aimerais avoir de l'aide.Comment travailler avec un classeur ouvert dans Excel en utilisant ClosedXML (C#)?

1) J'ai ce code ici pour que je puisse accéder aux données d'un classeur. Cela fonctionne correctement sauf lorsque quelqu'un a ouvert ce classeur. Peu m'importe si elle ouvre une copie en lecture seule, si possible, parce que tout ce que je fais, c'est accéder à des informations à partir de celle-ci.

var WorkbookCopyFrom = new XLWorkbook(WorksheetToCopy); 

Comment puis-je l'ouvrir même si quelqu'un l'a ouvert?

2) Dans mon entreprise précédente, j'ai utilisé le package Office Interop Nuget de faire quelque chose de similaire. Dans ce paquet, j'ai pu montrer le fichier Excel tout en travaillant sur l'aide de ce code:

excelApp.Visible = true; 

Y at-il quelque chose de similaire à ClosedXML?

+0

Il est mauvais style de poser des questions sans rapport à une question sur StackOverflow. Divisez-les en questions distinctes. Cependant, je vais répondre à certains d'entre eux ci-dessous. –

+0

Désolé, je vais supprimer la question 3 – djblois

Répondre

0

ClosedXML est enveloppé autour de OpenXML et est soumis aux mêmes contraintes.

  1. OpenXML ne peut pas ouvrir les fichiers actuellement utilisés.
  2. OpenXML est conçu pour avoir aucune dépendance sur Excel installé sur le système. Donc ce n'est pas possible. Office Interop est le seul moyen, ou peut-être WINAPI.
  3. Non pertinent pour ClosedXML.
+0

Pour 1. ne pourriez-vous pas copier le fichier, puis ouvrez la copie avec ClosedXML? – Raidri

+0

Donc, si je suis correct, je peux exécuter ClosedXML sans Excel sur la machine? – djblois

+0

Correct. Vous n'avez pas besoin d'Excel pour être installé. –