[英]ClosedXML AddConditionalFormat() adds quotes to value in Excel (French)
[英]Excel adds extra quotes on CSV export
我最近創建了一個應用程序,它通過CSV將項目添加到數據庫。 添加項目后,我意識到我的很多值都有額外的引號(“),這是不需要的,這搞砸了我的訂單。
問題是,當從Excel導出到CSV時,Excel會為我的所有已經包含引號的值添加額外的引號。 我已經展示了以下差異:
原物品: 電鑽可逆1/2“6.3A
出口項目: “鑽電可逆1/2”“6.3”
注意:CSV導出添加了三(3)個額外引號(“)。兩個末端,一個在原始預期引用之后。
我可以更改設置,還是可以在Excel文件/列上設置格式屬性? 或者我是否必須使用它並在將其添加到數據庫之前刪除后端代碼中的這些引號?
這完全正常。 添加外部引號,因為這是一個字符串。 內部引用加倍以逃避它。 例如,您在SQL查詢中看到的同樣的事情。 使用TextFieldParser類可以自動為您解析此問題並嘗試真正的框架代碼。
替換所有字符右雙引號按字符左雙引號。 它們看起來相似,Excel會混淆並讓文本保持不變。
此解決方案僅在您的結束輸出為HTML時才有用。 這是javascript解決方案,所以顯然你需要用C#或你正在使用的任何語言重做這個:
base = base.replace(/""/gi, '"');
base = base.replace(/'/gi, ''');
在解析CSV之前應用此選項。
您可以嘗試從Excel導出為TAB分隔文件。 我覺得解析起來比較容易。
另一種方法是使用Unicode字符“DOUBLE PRIME”
http://www.fileformat.info/info/unicode/char/2033/index.htm
在您的Excel數據中。 要從Excel導出為UTF-8或UTF-16 .csv,您必須提供具有適當CharacterSet屬性的schema.ini。 顯然,用於將.csv導入數據庫的工具也必須支持Unicode。
根據DBMS,可以使用更直接的數據傳輸方式(SELECT / INSERT ... INTO ... IN),從而完全消除.csv。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.