I am working on one project where I have to import data from an Excel sheet to Postgres DB. In my Previous Project, I have done the CSV File import using https://hex.pm/packages/nimble_csv. It works like a charm.
In this Project, I am dealing with Excel files.
NimbleCSV.define(NimbleCSV.Spreadsheet, [])
NimbleCSV.define(MyParser, escape: "\"")
alias NimbleCSV.RFC4180, as: CSV
def import_shipments(conn, %{"params" => %{"import_file" => params} }) do
params.path
|> File.stream!(read_ahead: 100_000)
|> MyParser.parse_stream([skip_headers: true])
|> Stream.map(fn n ->
case n do
[name, barcode] ->
IO.inspect name
IO.inspect barcode
_ -> IO.inspect "empty"
end
end)
|> Stream.run
render(conn, "index.html")
end
I am getting this error.
** (NimbleCSV.ParseError) unexpected escape character " in <<101, 236, 208, 147, 208, 215, 243, 190, 72, 245, 234, 52, 141, 234, 136, 196, 67, 12, 6, 170, 162, 4, 133, 193, 197, 118, 8, 189, 129, 253, 238, 237, 225, 25, 86, 205, 162, 222, 224, 104, 37, 143, 176, 31, 18, 171, 188, 19, 216, 128, ...>>
Can anyone give me insight on this? Your help is greatly appreciated. Thanks