CsvHelper в Blazor вставляет »¿ в первую строку и первый столбец файла.C#

Место общения программистов C#
Ответить
Anonymous
 CsvHelper в Blazor вставляет »¿ в первую строку и первый столбец файла.

Сообщение Anonymous »

Я использую Blazor Server в .net 8. Я пытаюсь сохранить CSV-файл и использую для этого CsvHelper. Проблема в том, что к первой записи добавляются дополнительные символы.
Изображение

Мой файл razor.cs выглядит так:
private async Task ExportToCSV()
{
var myExport = new CsvExport(includeColumnSeparatorDefinitionPreamble: false, includeHeaderRow: false);

myExport.AddRow();
myExport["Directions"] = "Directions";
myExport["Leg"] = "Leg";
myExport["LegTime"] = "Leg Time";
myExport["Trip"] = "Trip";
myExport["TripTime"] = "Trip Time";

foreach (var direction in LoadedDrivingDirections)
{
var row = new object[5]
{
$"{direction.Maneuver} on {direction.Road}",
direction.LegDistance.ToString("0.00"),
TimeSpan.FromMinutes(direction.Time).ToString(@"hh\:mm"),
direction.DistanceAtStart.ToString("0.00"),
TimeSpan.FromMinutes(drivingDirectionViews.Where(w => w.Direction.Latitude == direction.Latitude).Select(s => s.TotalTime).FirstOrDefault()).ToString(@"hh\:mm")
};

myExport.AddRow();
myExport["Directions"] = row[0];
myExport["Leg"] = row[1];
myExport["LegTime"] = row[2];
myExport["Trip"] = row[3];
myExport["TripTime"] = row[4];
}

await _js.SaveAs("ProMilesTrip.csv", myExport.ExportAsMemoryStream().ToArray());
}

И моя функция js выглядит следующим образом:
function saveAsFile(filename, bytesBase64) {

if (navigator.msSaveBlob) {
//Download document in Edge browser
var data = window.atob(bytesBase64);
var bytes = new Uint8Array(data.length);
for (var i = 0; i < data.length; i++) {
bytes = data.charCodeAt(i);
}
var blob = new Blob([bytes.buffer], { type: "application/octet-stream" });
navigator.msSaveBlob(blob, filename);
}
else {
var link = document.createElement('a');
link.download = filename;
link.href = "data:application/octet-stream;base64," + bytesBase64;
document.body.appendChild(link); // Needed for Firefox
link.click();
document.body.removeChild(link);
}
}


Подробнее здесь: https://stackoverflow.com/questions/791 ... mn-of-file
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»