Hi George616,
Split the comma separated value as separate row.
DataTable dt = new DataTable();
dt.Columns.Add("Id");
dt.Columns.Add("CreatedBy");
dt.Columns.Add("Invoice_no");
dt.Columns.Add("Item");
dt.Columns.Add("Qty");
dt.Columns.Add("Rate");
dt.Columns.Add("Amount");
dt.Rows.Add(1, "fatty @gmail.com", "1343214629", "Books,Pencils,Bags,", "12,20,50,", "1000,10,1000,", "12000,200,50000,");
DataTable dt1 = dt.Clone();
foreach (DataRow dr in dt.Rows)
{
for (int i = 0; i < dr["Item"].ToString().Split(',').Length; i++)
{
if (!string.IsNullOrEmpty(dr["Item"].ToString().Split(',')[i]))
{
DataRow dr1 = dt1.NewRow();
dr1["Id"] = dr["Id"];
dr1["CreatedBy"] = dr["CreatedBy"];
dr1["Invoice_no"] = dr["Invoice_no"];
dr1["Item"] = dr["Item"].ToString().Split(',')[i];
dr1["Qty"] = dr["Qty"].ToString().Split(',')[i];
dr1["Rate"] = dr["Rate"].ToString().Split(',')[i];
dr1["Amount"] = dr["Amount"].ToString().Split(',')[i];
dt1.Rows.Add(dr1.ItemArray);
}
}
}
Then use the DataTable to create your invoice.
You have to design HTML and display the data from DataTable in page.
Then on button click convert the page to pdf and send as email attachment.
Refer below article.
Or you can use crystal report for display invoice.