您好,我正在尝试使用二维码生成导出 .csv 文件。
我已经完成二维码生成和 CSV 导出,但我想将生成的二维码图像绑定(bind)到我的 .csv 文件。
这是我完成的..
protected void lnkbtnSave_Click(object sender, EventArgs e)
{
int NoOfCode = int.Parse(txtNoOfCode.Text);
DateTime ExpiryDate = DateTime.Parse(txtExpiryDate.Text.ToString());
string csv = string.Empty;
//Add the Header row for CSV file.
csv += "Code" + ',' + "Expiry On" + ',' + "QR Code" + ',';
csv += "\r\n";
for (int i = 0; i < NoOfCode; i++)
{
string GeneratedCode = GenerateString(8);
Tuple<int, string, int> tuple = Code.AddData(GeneratedCode, ExpiryDate);
QRCodeGenerator qrGenerator = new QRCodeGenerator();
QRCodeGenerator.QRCode qrCode = qrGenerator.CreateQrCode(GeneratedCode, QRCodeGenerator.ECCLevel.Q);
System.Web.UI.WebControls.Image imgBarCode = new System.Web.UI.WebControls.Image();
imgBarCode.Height = 150;
imgBarCode.Width = 150;
byte[] byteImage;
using (Bitmap bitMap = qrCode.GetGraphic(20))
{
using (MemoryStream ms = new MemoryStream())
{
bitMap.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
byteImage = ms.ToArray();
imgBarCode.ImageUrl = "data:image/png;base64," + Convert.ToBase64String(byteImage);
}
plBarCode.Controls.Add(imgBarCode);
csv += "\r\n";
**csv += GeneratedCode.ToString() + ',' + ExpiryDate.ToString() + ',' + bitMap + ',';**
}
}
Response.Clear();
Response.Buffer = true;
Response.AddHeader("content-disposition", "attachment;filename=SqlExport.csv");
Response.Charset = "";
Response.ContentType = "application/text";
Response.Output.Write(csv);
Response.Flush();
Response.End();
}
提前致谢..
最佳答案
问题是,您无法在 csv 文件中保存图像。您需要更改文件扩展名才能执行此操作 [例如 .xls 或 .xlsx]。
关于c# - 将图像导出为 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37561975/