Skip to content

Releases: PGS62/VBA-CSV

v0.30

02 Dec 10:17
Compare
Choose a tag to compare

CSVWrite now accepts an Encoding argument of UTF-8NOBOM and UTF-16NOBOM in which case the file created does not contain a byte order mark.

v0.29

26 Oct 11:51
47370aa
Compare
Choose a tag to compare

This release introduces new possibilities for handling quoted fields in which CSVRead never removes leading and trailing quotes from fields and CSVWrite never appends them. See the new K option for the ConvertTypes argument to CSVWrite and the new Raw option for the QuoteAllStrings argument to CSVRead.

v0.28

02 Mar 12:27
Compare
Choose a tag to compare

In this version, CSVRead throws a more informative error message than previously when the file is larger than 2GB.

v0.27

24 Feb 18:37
Compare
Choose a tag to compare
  • Two constants now control the parsing of dates with two-digit years, as described here.
  • Fixes a bug in CSVRead where a string such as "1-May-2023" (date order D-M-Y) would be read as a date even if DateFormat was set to M-D-Y.

v0.26

06 Feb 16:29
Compare
Choose a tag to compare
  • CSVRead's argument SkipToCol, which determines the first column read from the file, can now be passed as a string matching an element of the file's header row.
  • CSVRead's argument NumCols can now be specified as a string matching an element of the file's header row, and this determines the rightmost column read from the file.

v0.25

28 Nov 14:13
Compare
Choose a tag to compare

Improved performance of CSVWrite.

For test data (from this file) with 1.4 million rows and 7 columns, time to execute CSVWrite falls from 24 seconds to 11 seconds.

v0.24

24 Nov 14:18
Compare
Choose a tag to compare

In this release CSVWrite has changed behaviour on PCs for which the VBA display language is not English. Error values are written to file using their English language representation, such as #NAME?, #DIV/0!, #SPILL! etc. This change ensures that "round-tripping" between CSVWrite and CSVRead is preserved.

v0.23

18 Nov 12:32
Compare
Choose a tag to compare

Earlier versions did not work correctly if the Office Display language was not English. This version fixes that.

v0.22

09 Nov 17:05
Compare
Choose a tag to compare

This release has improved performance for large files.

CSVRead execution time is reduced by approximately 35% for large files in this release. This results from switching from using Scripting.TextStream to using ADODB.Stream for the low-level task of reading data from disk into a string variable (and working around the performance shortcoming of the latter). The relevant method is ReadAllFromStream.

The largest file in RDatasets is 76Mb in size and has 1.4 million rows and seven columns. Time to execute CSVRead("C:\Projects\RDatasets\csv\openintro\military.csv") falls from 22 seconds using v0.4 to 14 seconds using v0.22.

v0.20

04 Nov 13:46
Compare
Choose a tag to compare

Improved code to "guess" the delimiter in a csv file when the Delimiter argument is not provided. Specifically, the code now handles better the case of the first field in the first row of the file being a date-with-time such as 2022-11-04T14:41:01. Previously the code would have guessed the delimiter to be :, which would likely have been incorrect.