Code Monkey home page Code Monkey logo

labview_npoi's Introduction

GitHub all releases Wiki Issues Zero-Clause BSD LinkedIn

NPOI assembly wrapper in LabVIEW.

This project intends to implement a wrapper of the NPOI assembly that allows MS Office files manipulation in LabVIEW (no MS Office installation required). I'm still exploring NPOI interface for capabilities and possibilities; trying different approaches, more like a PoC. In a second time, I'll try to implement a reliable , scalable, maintainable architecture. Feel free to let me know if you're interested in architecture or implementation contribution, I'll be more than happy!

##Whast is NPOI?

NPOI is a .NET version of POI Java Project. It is an open source .NET library to read and write Microsoft Office file formats formats (*.xls/xlsx, *.doc/docx, *.ppt/pptx). You can manually download the repository from GitHub or install from NuGet.

Installation

  • Download the latest version of the LabVIEW NPOI VI Package from the release page.
  • Use VIPM to install it on your LabVIEW version (2017+).
  • Download and install the latest version of the LUT package available here.

Examples

Below is a simple example to show how to use the LabVIEW NPOI API to interact with Excel or Word document.

SimpleDocumentCreationExample

Contributing

See CONTRIBUTING.md.

Author

BenjaminR

labview_npoi's People

Contributors

benji667 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

labview_npoi's Issues

mnu files is missing

Describe the bug
LabVIEW searches for a mnu file when dropping a VI from the NPIO lib on a block diagram : controls_benjaminr_custom_controls.mnu

To Reproduce
Steps to reproduce the behavior:

  1. install the package
  2. Drop a NPIO VI on an empty block diagram

Expected behavior
No missing dependency

Screenshots
image

Environment (please complete the following information):

  • Win10 x64
  • LabVIEW Version 2017
  • LabVIEW Bitness 32bit
  • Runtime? No

Additional context
None

Non functionnal builds

Describe the bug
I just build a very simple VI to build an executable and I've seen two issues related to build

  1. If I do not uncheck Remove unused members of project libraries in Additional Exclusions, the executable cannot find the class coerrsponding to the file format (MS-Excel.lvclass for *.xlsx or *.xls, MS-Word for *.docx or *.doc). This lead to an error 7.
  2. With this option unchecked, I get an error 1172. It seems that the direct dependencies are copied into data fodler, in build destination folder (NPOI.dll, NPOI.OOXML.dll), but three dependant assembly are missing (ICSharpCode.SharpZipLib.dll, NPOI.OpenXml4Net.dll, NPOI.OpenXmlFormats.dll)

To Reproduce
Steps to reproduce the behavior:

  1. Open the attached project, review Main.vi (I inserted the code snippet found on the project home page on a blank VI, replaced the path control by a File Dialog, and add an Simple Error Handler after Close Document)
    Build Dependencies Issues.zip
  2. Build My Application : it only point to Main.vi. Run the generated executable : you should get an error 7
  3. Build My Application (fix 1). In Additional Exclusion, Remove unused members of project libraries was unchecked. Run the generated executable: you should get an error 1172
  4. Build My application (fix 1 + fix 2). The three missing DLL (ICSharpCode.SharpZipLib.dll, NPOI.OpenXml4Net.dll, NPOI.OpenXmlFormats.dll) are explicitly referenced in the project, in order to force their copy into data forlder. The generated executable should run just fine.

Expected behavior
Getting a working build without build spec "trick"

Screenshots
GetImage

GetImage (1)

Environment

  • Target: Win 10
  • LabVIEW Version 2017
  • LabVIEW Bitness 32-bit
  • Runtime? Yes

Additional context
Issues first encountered when building a PPL with LabVIEW 2020, reproduced with a simple example project under LabVIEW 2017.

Opening an existing xlsx file for saving will cause file corruption

Describe the bug
Hi,Benji.
I found that if I open an existing excel file, save it and close it, and then use excel to open the file, I will get an error.
image
image
If I change mode from createoropen to create, there will be no errors. The same thing happens in C#

alike
image

To Reproduce
Open an existing xlsx file for saving
image

Environment (please complete the following information):

  • Target: [Win 10.]
  • LabVIEW Version [2020]
  • LabVIEW Bitness [ 32-bit]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.