Как в Excel растянуть столбцы по ширине - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Возник вопрос: в экселе генерирую определенную информацию по такому алгоритму
class Program
    {
        static double Mx(IEnumerable<double> a)
        {
            return a.Sum() / a.Count();
        }
 
        static void Main()
        {
            const int a = 0, b = 4, c = 4, n = 200;
            var r = new TriangularDistribution(a,b,c);
            var ar = new double[n];
            for (int i = 0; i < ar.Length; i++)
                ar[i] = r.Next();
            //Матожидание 
            var mx = Mx(ar);
            //Дисперсия
            var v2 = Mx(ar.Select(x => x * x));
            var dx = v2 - mx * mx; 
            //СКО
            var sigma = Math.Sqrt(dx);
            //Коэф. ассиметрии
            var v3 = Mx(ar.Select(x => x * x * x));
            var m3 = v3 - 3 * mx * v2 + 2 * mx * mx * mx;
            var As = m3 / (sigma * sigma * sigma);
            //Эксцесс
            var v4 = Mx(ar.Select(x => x * x * x * x));
            var m4 = v4 - 4 * mx * v3 + 6 * mx * mx * v2 - 3 * mx * mx * mx * mx;
            var Ex = m4 / (sigma * sigma * sigma * sigma) - 3;
            var excelApp = new Excel.Application();
            const string myPath = @"C:\1.xlsx";
            excelApp.Workbooks.Open(myPath);
            int rowIndex = 1, colIndex = 1;
            excelApp.Cells[rowIndex, colIndex++] = "Исходный ряд: X";
            foreach (var x in ar)
                excelApp.Cells[rowIndex, colIndex++] = x;
            rowIndex++;
            colIndex = 1;
            excelApp.Cells[rowIndex, colIndex++] = "Вариационный ряд: X";
            Array.Sort(ar);
            foreach (var x in ar)
                excelApp.Cells[rowIndex, colIndex++] = x;
            rowIndex++;
            excelApp.Cells[rowIndex, 2] = "Теоретическое значение";
            excelApp.Cells[rowIndex, 3] = "Статистическое значение";
            excelApp.Cells[rowIndex, 4] = "Разница в %";
            rowIndex++;
            Print(excelApp, "Mx", ref rowIndex, mx, r.Mean);
            Print(excelApp, "Dx", ref rowIndex, dx, r.Variance);
            Print(excelApp, "Ax", ref rowIndex, As, r.Skewness);
            Print(excelApp, "Ex", ref rowIndex, Ex, TriangularDistribution.Kurtosis);
            excelApp.Visible = true;
        }

        private static void Print(Excel.Application excelApp, string name, ref int rowIndex, double statist, double teor)
        {
            const int prec = 3;
            excelApp.Cells[rowIndex, 1] = name;
            excelApp.Cells[rowIndex, 2] = Math.Round(teor, prec);
            excelApp.Cells[rowIndex, 3] = Math.Round(statist, prec);
            excelApp.Cells[rowIndex, 4] = Math.Round(Math.Abs(1 - statist / teor) * 100, prec);
            rowIndex++;
        }
    }
Но проблема в том, что некоторые столбцы отображаются не полностью и наезжают. Как мне из
получить
?

Решение задачи: «Как в Excel растянуть столбцы по ширине»

textual
Листинг программы
book = application.Workbooks.Add(Type.Missing) as Exc.Workbook;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.222 из 5
Похожие ответы