Переместите число в ячейку вправо в таблице Excel - PullRequest
1 голос
/ 06 июня 2019

Я пытаюсь переместить свои числа (двойной тип) в правую часть ячейки. Я беру все данные из таблицы данных и помещаю их в свою таблицу Excel

Таблица Excel состоит из 5 столбцов.В первой это строки, а остальные - числа типа int и double.Если в моей камере есть номер с комой, то номер справа, а цифры без комы слева.Я прочитал, я могу использовать что-то вроде этого -> myRange.FormatNumber.Но я не знаю, как я могу использовать это ...

       try {
            string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
            saveFileDialog1.InitialDirectory = path;
            saveFileDialog1.Title = "Als Excel Datei speichern";
            saveFileDialog1.FileName = "";
            saveFileDialog1.Filter = "Excel Files(2013)|*.xlsx|Excel Files(2003)|*.xls|Excel Files(2007)|*.xlsx";
            if (saveFileDialog1.ShowDialog() != DialogResult.Cancel)
            {
                Cursor.Current = Cursors.WaitCursor;

                Microsoft.Office.Interop.Excel.Application ExcelApp = new Microsoft.Office.Interop.Excel.Application();
                ExcelApp.Application.Workbooks.Add(Type.Missing);

                object[,] arr = new object[maximaleZeilenAnzahl, maximaleSpaltenAnzahl]; //Array erstellen


                //Überschrift Tabelle Einzeln
                for (int columnIndex = 0; columnIndex < dgvEinzeln.Columns.Count; columnIndex++)
                {
                    arr[aktuelleExcelZeile, columnIndex] = dgvEinzeln.Columns[columnIndex].HeaderText;

                }
                aktuelleExcelZeile += 1;
                //Tabelle Einzeln
                for (int rowIndex = 0; rowIndex < dgvEinzeln.Rows.Count; rowIndex++)
                {
                    for (int columnIndex = 0; columnIndex < dgvEinzeln.Columns.Count; columnIndex++)
                    {
                        arr[aktuelleExcelZeile, columnIndex] = dgvEinzeln.Rows[rowIndex].Cells[columnIndex].Value.ToString();
                    }
                    aktuelleExcelZeile++;
                }
                aktuelleExcelZeile += 5;


                //Überschrift Tabelle Summe
                for (int columnIndex = 0; columnIndex < dgvSumme.Columns.Count; columnIndex++)
                {
                    arr[aktuelleExcelZeile, columnIndex] = dgvSumme.Columns[columnIndex].HeaderText;
                }
                aktuelleExcelZeile += 1;
                //Tabelle Summe
                for (int rowIndex = 0; rowIndex < dgvSumme.Rows.Count; rowIndex++)
                {
                    for (int columnIndex = 0; columnIndex < dgvSumme.Columns.Count; columnIndex++)
                    {  
                            arr[aktuelleExcelZeile, columnIndex] = dgvSumme.Rows[rowIndex].Cells[columnIndex].Value.ToString();                      
                    }
                    aktuelleExcelZeile++;
                }

                Range c1 = (Range)ExcelApp.Cells[1, 1];
                Range c2 = (Range)ExcelApp.Cells[aktuelleExcelZeile, maximaleSpaltenAnzahl];
                Range range = ExcelApp.get_Range(c1, c2);
                range.Value = arr;


                ExcelApp.ActiveWorkbook.SaveCopyAs(saveFileDialog1.FileName.ToString());
                ExcelApp.ActiveWorkbook.Saved = true;
                ExcelApp.Quit();



                string filename = Path.GetFullPath(saveFileDialog1.FileName);
                System.Diagnostics.Process.Start(filename);

            }

        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
            throw;
        }
        finally
        {
            Cursor.Current = Cursors.Default;
        }

1 Ответ

0 голосов
/ 06 июня 2019

Пожалуйста, попробуйте это

ExcelApp.Cells[rownumbwe, columnNumber].HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignRight;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...