Mencoba menulis konten orang ke CSVfile dan kemudian mengekspornya, namun saya mendapatkan galat build dan kegagalannya. kesalahannya adalah:
cannot convert from 'System.IO.StreamWriter' to 'CsvHelper.ISerializer'
Tidak yakin mengapa ini terjadi kecuali karena saya yakin saya telah melakukannya dengan cara ini berkali-kali.
private void ExportAsCSV()
{
using (var memoryStream = new MemoryStream())
{
using (var writer = new StreamWriter(memoryStream))
{
using (var csv = new CsvHelper.CsvWriter(writer))
{
csv.WriteRecords(people);
}
var arr = memoryStream.ToArray();
js.SaveAs("people.csv",arr);
}
}
}
StreamWriter
keISerializer
?StreamWriter
adalah bagian dari .NET itu sendiri - tidak dapat mengimplementasikan antarmuka dari paket pihak ketiga tertentu.CsvHelper.CsvWriter(TextWriter)
tidak dalam ruang lingkup. Periksa kembali apakah Anda mendapatkan versi paket yang benar, dan ituStreamWriter
adalah kelas biasa (System.IO.StreamWriter
). Gunakan "Pergi ke Definisi"CsvWriter
untuk mengecek.CsvWriter
konstruktor yang membutuhkanISerializer
, dan gagal karena tidak ada konversi. Seharusnya memilihCsvWriter
konstruktor yang mengambil aTextWriter
, karenaStreamWriter
mewarisi dari itu, sehingga konstruktor itu hilang (untuk alasan apa pun) atau resolusi kelebihan kompiler rusak (sedikit kurang mungkin, tetapi hal-hal aneh telah terjadi).Jawaban:
Ada perubahan besar dengan versi 13.0.0. Ada banyak masalah dengan pelokalan, jadi @JoshClose mengharuskan pengguna untuk menentukan yang
CultureInfo
ingin mereka gunakan. Anda sekarang harus memasukkanCultureInfo
saat membuatCsvReader
danCsvWriter
. https://github.com/JoshClose/CsvHelper/issues/1441Catatan:
CultureInfo.CurrentCulture
adalah default di versi sebelumnya.Mempertimbangkan
CultureInfo.InvariantCulture
- Jika Anda mengontrol penulisan dan pembacaan file. Dengan begitu itu akan bekerja tidak peduli budaya apa yang dimiliki pengguna di komputer mereka.CultureInfo.CreateSpecificCulture("en-US")
- Jika Anda membutuhkannya untuk budaya tertentu , terlepas dari budaya pengguna.sumber