Как получить изображение, сгенерированное Zen Barcode Frame, экспортируйте его в Excel - PullRequest
0 голосов
/ 08 мая 2018

У меня есть проблема. В настоящее время я не могу вставить изображение, созданное платформой Zen Barcode в PictureBox, в Excel.
Пока мне удается сохранить его только в формате JPEG, но я хочу вставить штрих-код и QR-код, сгенерированный в Microsoft Excel, когда нажимаю кнопку «Преобразовать в Excel».
Единственная проблема, с которой я столкнулся сейчас, это то, что после штрих-кода и сгенерированный QR-код, но я не могу экспортировать его в Microsoft Excel, но могу получить то, что вводится в текстовое поле, чтобы преуспеть.

This is my application so far

public partial class Form1: Form
{
    public object SaveFileDialog1 { get; private set; }

    // Bitmap qrCodeImage;

    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        Zen.Barcode.Code128BarcodeDraw barcode = Zen.Barcode.BarcodeDrawFactory.Code128WithChecksum;
        pictureBox.Image = barcode.Draw(Barcodetxt.Text, 50);
    }

    private void btnQR_Click(object sender, EventArgs e)
    {
        Zen.Barcode.CodeQrBarcodeDraw qrcode = Zen.Barcode.BarcodeDrawFactory.CodeQr;
        pictureBox1.Image = qrcode.Draw(QRCodetxt.Text, 50);
    }

    private void Form1_Load(object sender, EventArgs e)
    {

    }

    private void btnexcel_Click(object sender, EventArgs e)
    {
        string file = "D:/newdoc.xls";
        Workbook workbook = new Workbook();
        Worksheet worksheet = new Worksheet("Label Pritting ");
        worksheet.Cells[1, 3] = new Cell(Barcodetxt.Text);
        worksheet.Cells[2, 5] = new Cell(QRCodetxt.Text);
        Bitmap bm = default(Bitmap);

        bm = new Bitmap(pictureBox1.Width, pictureBox1.Height);

        System.Windows.Forms.Clipboard.SetDataObject(bm, false);

        //worksheet.Cells[3, 8] = new Cell(pictureBox.Image);
        //worksheet.Cells[1, 2] = new Cell(pictureBox.Image);
        // worksheet.Cells[1, 3] = new Cell(pictureBox1.Image);
        workbook.Worksheets.Add(worksheet); workbook.Save(file);

        // open xls file
        Workbook book = Workbook.Load(file);
        Worksheet sheet = book.Worksheets[0];

        // traverse cells
        //foreach (Pair, Cell > cell in sheet.Cells)
        {
            //  dgvCells[cell.Left.Right, cell.Left.Left].Value = cell.Right.Value;
        }

        // traverse rows by Index
        for (int rowIndex = sheet.Cells.FirstRowIndex; rowIndex <= sheet.Cells.LastRowIndex; rowIndex++)
        {
            Row row = sheet.Cells.GetRow(rowIndex);
            for (int colIndex = row.FirstColIndex; colIndex <= row.LastColIndex; colIndex++)
            {
                Cell cell = row.GetCell(colIndex);
            }
        }
    }

    private void pictureBox_Click(object sender, EventArgs e)
    {

    }

    private void pictureBox1_Click(object sender, EventArgs e)
    {

    }

    private void Saveqrcodebtn_Click(object sender, EventArgs e)
    {
        string saveFileName;
        SaveFileDialog saveDialog = new SaveFileDialog();
        saveDialog.DefaultExt = "jpg";
        saveDialog.Filter = "jpeg|*.jpg";
        // saveDialog.FileName = saveFileName;
        System.IO.MemoryStream ms = new System.IO.MemoryStream();
        if (saveDialog.ShowDialog() == DialogResult.OK)
        {
            try
            {
                saveFileName = saveDialog.FileName;
                pictureBox.Image.Save(saveFileName);
                pictureBox1.Image.Save(saveFileName);

                MessageBox.Show(saveFileName + " Save Complete", "Complete", MessageBoxButtons.OK);
            }
            catch
            {
                MessageBox.Show("Error file is open/in use");
            }
            pictureBox1.Image = null;
        }
    }

    private void Barcodebtn_Click(object sender, EventArgs e)
    {
        string saveFileName;
        SaveFileDialog saveDialog = new SaveFileDialog();
        saveDialog.DefaultExt = "jpg";
        saveDialog.Filter = "jpeg|*.jpg";
        // saveDialog.FileName = saveFileName;
        System.IO.MemoryStream ms = new System.IO.MemoryStream();
        if (saveDialog.ShowDialog() == DialogResult.OK)
        {
            try
            {
                saveFileName = saveDialog.FileName;
                pictureBox.Image.Save(saveFileName);
                pictureBox1.Image.Save(saveFileName);

                MessageBox.Show(saveFileName + " Save Complete", "Complete", MessageBoxButtons.OK);
            }
            catch
            {
                MessageBox.Show("Error file is open/in use");
            }
            pictureBox1.Image = null;
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...