Как в 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;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д