Kako spremiti string u string array a da ne pobuca format C#

Imam StringBuilder u koji spremam sadržaj iz DataGridView-a, to mi uredno procita i sada kad želim taj veliki string razbiti u string array imam problem jer mi podaci idu neki malo lijevo neki malo desno.

StringBuilder sbd = new StringBuilder();
foreach (DataGridViewRow rowe in dataGridView2.Rows)
{
sbd.Append(rowe.Cells[0].Value).Append(rowe.Cells[10].Value);
sbd.AppendLine();
}
sbd.Remove(sbd.Length - 1, 1);
//sbd.AppendLine();
string userOutput = sbd.ToString().Trim();//tu napiše sve ali u nizu i to je OK
// ali sad dolje kad idem .Split onda dobijem razbucan tekst
lines = userOutput.Split(new string[] { “\n” }, StringSplitOptions.RemoveEmptyEntries);

Dobijem izlaz OK ali nije formatiran dobro piše:
Kruh… 10kn
Jaja…15kn
Salata… 20kn //ja sam stavio točkice jer kad spermim ne vidi se da udaljenost nije
itd… //svugdje ista
Kako da poravnam iznos da bude uvijek na istom mjestu. Znači proizvodi ispod proizvoda a cijene jedna ispod druge a ne jedna cijena je malo lijevo druga malo desno.
Svaka pomoć dobro došla.
Hvala

Pozdrav!
Nije mi jasno zasto automatski podatke iz baze ne spremis u neku listu, nego prvo u grid pa onda u StringBuilder? Mozda nesto ne “kopčam”, ali ako sam te skuzio, bilo bi ti onda jednostavnije pozvati podatke u neku listu i onda ih pozvat kako zelis… Nesto tipa ovako:

List lista = new List();
lista = NekaKlasa.DohvatiMiProizvodeByID(ID_kategorijaProizvoda)
StringBuilder sb = new StrinBuilder();

/*mozes ti u designViewu napraviti tablicu i dati joj neku klasu pa onda u nju samo bacit foreach petlju da ti lista sve iz liste ili mozes sve ovdje napravit i onda puknut u neku labelu, ali ajde - ovdje cemo sve napravit */

sb.Append("

");
sb.Append("“);
foreach(var proizvod in lista)
{
sb.Append(”");
sb.AppendFormat("", proizvod.ID_Proizvoda, proizvod.Naziv, proizvod.Cijena);
sb.Append("");

}
sb.Append("

ID: Naziv: Cijena:
{0} {1} {2}
");

lblNekaLavela.Text = sb.ToString();

U CSS-u si napravis neke klase i onda kako imas ovdje novi stupac u njemu samo pozoves klasu u kojoj si naredio da ti text bude skroz lijevo i koliko da bude sirine itd.:

zasto uopce koristiti stringbuilder za ovu stvar? cini mi se kao totalno kriv pristup …

Inace, zasto ne Trimas i kada citas one Cell.Value iz DataGrida?