You need to think about where to use builder.AppendLine or builder.Append depending if you need a NewLine at the end or not.
Because of this, the optional part is on a NewLine instead of the end of previous one.
builder.AppendLine(data._Vo + "," + data._Bi + "," + data._Dau);
----
In case you wonder why your code takes so much time to write the csv file, the answer is because of this:
data._Id + "," + quote + data._Na1 + quote + "," + data._Sche + "," + data.bdi_Hi2 + "," + data.Wei + "," + data.Stz + "," + data.Da + "," + data.Vo + "," + data.Bi + "," + data._Ad1 + "," + data.bpt_Ad2 + "," + data._Str + "," + data._AdZ + "," + data._Te1 + "," + data._or + "," + data._Ges + "," + data._lun + "," + data.p_Na + "," + data.p_Ad + "," + data.p_Ad2 + "," + data.p_T1 + "," + data.p_Mo + "," + data.p_Ml + "," + data.p_Io + "," + data.z_N + "," + data.z_Ad1 + "," + data.z_Ad2 + "," + data.z_PZ + "," + data.z_O + "," + data.z_T1 + "," + data.z_Ml + "," + data.z_Ma + "," + data._len1 + "," + data._len2 + "," + data._len3 + "," + data._Stu + "," + data._Dum + ","
You are building a string with 70+ strings without using a StringBuilder class.
even worse, you build this string to feed a StringBuilder variable.
You will hugely improve speed and memory footprint by feeding each pieces directly in the StringBuilder variable.
builder.Append(data._Id + ",");
builder.Append(quote + data._Na1 + quote + ",");
builder.Append(data._Sche + ",");
...