LLLit: Изучение и практика программирования

Экспорт изображения в CSV

Привет, я пытаюсь экспортировать файл .csv с помощью генерации QR-кода.

Я выполнил генерацию QR-кода и экспорт в CSV, но хочу привязать изображение сгенерированного QR-кода к моему файлу .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 - это текстовый файл... Почему вы хотите хранить изображение в текстовом файле??? См. аналогичный вопрос stackoverflow.com /вопросы/2333522/ 01.06.2016

Ответы:


1

Проблема в том, что вы не можете сохранить изображение в файле csv. Для этого вам нужно изменить расширение файла [например, .xls или .xlsx].

01.06.2016
  • я пытаюсь сделать то же самое, но когда я добавляю растровое изображение в файл excel, оно сохраняется как строка System.Drawing.Bitmap, а не как изображение... вы решили эту проблему? 10.04.2019
  • Вы не можете Base64 кодировать байты и хранить текст в текстовом файле? 04.01.2020
  • @ User7291 вам нужно сначала сохранить растровое изображение в файловой системе. Затем вставьте его в файл excel. 05.01.2020
  • @SeanAnderson, вы можете сохранить текст Base64 в текстовом файле, но я думаю, что это не цель. 05.01.2020
  • Новые материалы

    Как развивается смешанно-целочисленное программирование, часть 7
    Унифицированная техника раннего завершения для первично-двойственных алгоритмов в смешанно-целочисленном коническом программировании (arXiv) Автор : Ювэнь Чэнь , Кэтрин Нин , Поль Гулар..

    Как научить модель Keras распознавать текст переменной длины
    Я некоторое время играл с официальным примером Keras image_ocr.py и хочу поделиться своими выводами в этом посте. В официальном примере выполняется только обучение модели, но отсутствует..

    Практическая пакетная нормализация
    История начинается после использования инициализации He вместе с ELU (или любым вариантом ReLU) может значительно снизить опасность проблем с исчезающими/взрывающимися градиентами в начале..

    Поэзия онлайн-кодирования: путешествие пикселей и страсти
    В мире, наполненном инновациями, онлайн-обучение программированию становится холстом, на котором обретает форму полотно вашей мечты. Это больше, чем просто создание строк кода; это сродни..

    Обработка изображений с помощью Python - размытие и повышение резкости для начинающих
    Как применить ядра свертки к цветным изображениям? В этой статье мы обсудим, как применять ядра размытия и повышения резкости к изображениям. Эти базовые ядра составляют основу многих более..

    Ограничение скорости в .NET Core 7 Web API
    Что такое ограничение скорости? Ограничение скорости — это процесс, используемый для ограничения количества запросов, разрешенных для определенного ресурса в указанном временном окне. .NET..

    Стабильная Diffusion 1.0 выдаёт более красивые картинки, чем SD 2.1?! Почему?
    Удивительные открытия, которые я сделал недавно. Смотрите в видео: https://youtu.be/PakgD6FewoU Есть одно логичное объяснение — что у вас?