
That way the person filling out the spreadsheet isn't aware that the number in column A is being manipulated in columns B and C. You might be able to hide columns B and C but still have them exported to the CSV. This is what the values look like, notice cell D1 has the reconstructed value in cell A1 These are the formulas I used to split the number in A1 into B1 and C1 then join again in D1 Here is an example, using Google docs but should be similar in Excel: You then multiply the first column by 1E8 and add the second column after reading the CSV file to recover the original number. One way to solve this would be to add two more columns in Excel, and represent the number divided by 1E8 (the upper 8 decimal digits) in one column and the number modulo 1E8 (the lower 8 decimal digits) in the other column. However, Excel will only take the first 15 digits of your number when it imports from CSV (I don't know about opencsv.jar) any other digits are set to zero. you have not lost precision in storing the number as CSV. Let's say you have a number that is 16 decimal digits and it is representable in double precision floating point, and you saved it as text.

You should format the column with these numbers as text before saving as CSV.
NOTION EXPORT DATABASE TO CSV FULL
So be aware that not all 16 decimal digit numbers maintain full precision in Excel. This format has 52 explicit bits in the significand plus 1 implied bit, for a total of 53 bits, which is almost enough to represent any 16 decimal digit number, but not all (53 log10(2) ≈ 15.955). Excel uses double precision floating point to represent numbers.
