SathyaRaju Ответов: 4

Как исправить ширину столбца Excel


Привет Друзья,

Как установить ширину столбца Excel
Ниже моего кода..........


SaveFileDialog fileTerminal = new SaveFileDialog();
             fileTerminal.Filter = "xlsx files(*.xlsx)|*.xlsx|xls files(*.xls)|*.xls|All files(*.*)|*.*";
             fileTerminal.FileName = lblHeader.Text.Replace(" ", "") + "_" + TodayDateinTimeZone().ToString("ddMMyyyyhhmmss");
             fileTerminal.FilterIndex = 2;
             fileTerminal.InitialDirectory = @"C:\";
             fileTerminal.RestoreDirectory = true;

             if (fileTerminal.ShowDialog() == DialogResult.OK)
             {
                 //Microsoft.Office.Interop.Excel.Application xlApp;
                 //Microsoft.Office.Interop.Excel.Workbook xlWorkBook;
                 //Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet;
                 //object misValue = System.Reflection.Missing.Value;
                 //xlApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
                 //xlWorkBook = xlApp.Workbooks.Add(misValue);
                 //xlWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

                 string filename = fileTerminal.FileName;

                 using (var wrt = new StreamWriter(filename))
                 {
                     //wrt.WriteLine("\t\t\t  \n");
                     wrt.WriteLine();
                     for (int i = 0; i < dtTempExcel.Columns.Count; i++)
                     {
                         wrt.Write(dtTempExcel.Columns[i].ToString().Trim() + "\t");
                         //dtTempExcel.Columns[i].MaxLength = 20;

                     }
                     wrt.WriteLine();
                     for (int j = 0; j < dtTempExcel.Rows.Count; j++)
                     {
                         if (dtTempExcel.Rows[j][0].ToString() != null)
                         {
                             wrt.Write(dtTempExcel.Rows[j][0].ToString().Trim());
                             for (int i = 1; i < dtTempExcel.Columns.Count; i++)
                             {
                                 string Data = dtTempExcel.Rows[j][i].ToString().Replace("\n", "?").Replace("\r", "?").Replace("\t", "?").Replace("\r\n", "?").Replace(" ", "?");
                                 string Replays = Data.Replace("?", " ");
                                 wrt.Write("\t" + Replays.ToString());
                              }
                             wrt.WriteLine();
                         }
                     }
                     //xlWorkSheet.get_Range(xlWorkSheet.Cells[1, 1], xlWorkSheet.Cells[1, dtTempExcel.Columns.Count]).Font.Bold = 20;
                     //xlWorkSheet.get_Range(xlWorkSheet.Cells[1, 1], xlWorkSheet.Cells[1, dtTempExcel.Columns.Count]).EntireColumn.AutoFit();
                 }
             }


Плз кто нибудь мне поможет...........мне нужно решение сейчас....

с уважением,
Сатья.

4 Ответов

Рейтинг:
1

Member 12611215

В Visual C++ решение заключается в следующем:

Range^ rangewidth = safe_cast<Range^>(exWs->Cells[1, 2])->Resize[1, 1];
rangewidth->EntireColumn->ColumnWidth=40;



Спасибо за помощь.
Фортино Васкес


Рейтинг:
0

Ganesan Senthilvel

Вы можете достичь этого с помощью класса взаимодействия Excel C#

excelFile = new Excel.ApplicationClass(); 
Excel.Workbook workbook = excelFile.Workbooks.Add(Type.Missing); 
excelFile.Visible = true; 
Worksheet ws = (Worksheet)excelFile.ActiveSheet; 
Microsoft.Office.Interop.Excel.Worksheet worksheet2 = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets.get_Item(2); 
ws.Activate();

public void SetColumnWidth(Worksheet ws, int col, int width)
{
 ((Range)ws.Cells[1, col]).EntireColumn.ColumnWidth = width;
}


Рейтинг:
0

SathyaRaju

Наконец я получаю решение......

Диалоговое окно savefiledialog fileTerminal = новое диалоговое окно savefiledialog();
{
филетерминал.Title = " Выберите Файл Для Загрузки";
филетерминал.Именем = lblHeader.Текст.Заменить(" ", "") + "_" + TodayDateinTimeZone().Метод toString("ddMMyyyyhhmmss");
филетерминал.Фильтр = "файлы XLSX(*.файлы XLSX)|*.файлы XLSX|XLS файлов(*.формате xls)|*.формате xls|все файлы(*.*)|*.*";
филетерминал.FilterIndex = 2;
филетерминал.InitialDirectory = @ " C:\";
fileTerminal.RestoreDirectory = true в;
if (fileTerminal.ShowDialog () = = DialogResult.ОК)
{
int columnCount = 0;
строка filename = fileTerminal.имя файла;
Превосходить.Приложение xlApp = по умолчанию (Excel.Приложение);
Превосходить.Рабочая книга xlWorkBook = по умолчанию (Excel.Рабочая тетрадь);
Превосходить.Рабочий лист xlWorkSheet = default(Excel.Рабочий лист);
неверное значение объекта = система.Отражение.Недостающий.Ценность;
xlApp = новый Microsoft.Офис.Взаимодействие.Превосходить.ApplicationClass();
xlWorkBook = xlApp.Книги.Добавить (неверное значение);
xlWorkSheet = (Microsoft.Офис.Взаимодействие.Превосходить.Рабочий лист) xlWorkBook.Worksheets. get_Item(1);
int i = 0;
int j = 0;

xlWorkSheet.Клеток[1, 5] = lblHeader.Текст.Метод toString();
for (int y = 1; y <= dtTempExcel.Столбцы.Count; y++)
{
xlWorkSheet.Ячейки[3, y] = dtTempExcel.Столбцы[y-1]. имя столбца;
}
for (i = 0; i <= dtTempExcel.Rows.Count-1; i++)
{
для (j = 0; j <= dtTempExcel.Столбцы.Count-1; j++)
{
DataGridViewCell cell = dgvAgentDetails[j, i];

// xlWorkSheet.Ячейки[i + 4, j + 1] = dtTempExcel.Строки[j][i].Метод toString();
xlWorkSheet.Ячейки[i + 4, j + 1] = ячейка.Ценность;
}
}
xlWorkSheet. get_Range(xlWorkSheet.Ячейки[3, 1], xlWorkSheet.Клетки[3, dgvAgentDetails.Столбцы.Рассчитывать]).Интерьер.цветовая система.Рисование.ColorTranslator.Тул(Система.Рисование.Цвет.Желтый);
xlWorkSheet. get_Range(xlWorkSheet.Ячейки[1, 1], xlWorkSheet.Клетки[1, dgvAgentDetails.Столбцы.Рассчитывать]).Шрифт.Жирный шрифт = 40;
xlWorkSheet. get_Range(xlWorkSheet.Ячейки[3, 1], xlWorkSheet.Клетки[1, dgvAgentDetails.Столбцы.Рассчитывать]).Шрифт.Жирный шрифт = 20;
xlWorkSheet. get_Range(xlWorkSheet.Ячейки[3, 1], xlWorkSheet.Клетки[1, dgvAgentDetails.Столбцы.Рассчитывать]).Весь столбец.Автоподбор();
xlWorkBook.SaveAs(имя файла.ToString (), Microsoft.Офис.Взаимодействие.Превосходить.XlFileFormat. xlWorkbookNormal, misValue, misValue, misValue, Misvalue, Microsoft.Офис.Взаимодействие.Превосходить.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
xlWorkBook.Недалеко(правда, misValue, misValue);
xlApp.Бросить();
releaseObject(xlWorkSheet);
releaseObject(xlWorkBook);
releaseObject(xlApp);
}
}



private void releaseObject(object obj)
{
пробовать
{
Система.Время Выполнения.InteropServices.Маршал.Метода releasecomobject(объект);
obj = null;
}
catch (Exception exp)
{
obj = null;
Ящик для сообщений.Show ("исключение произошло при освобождении объекта" + exp.ToString (), Common.MSGBOX_TITLE, MessageBoxButtons.Хорошо, MessageBoxIcon.Ошибка);
База данных.LogData(GlobalVar.getAgentID.ToString (), GlobalVar.getTerminalID.ToString (), GlobalVar.getIpAddress.Метод toString(),
GlobalVar.getTerminalType.ToString (), "X", "ControlPanel", "releaseObject", exp.Message.Метод ToString(), GlobalVar.getSequenceId);
}
наконец
{
СБОРЩИК МУСОРА.Собирать();
}
}


Рейтинг:
0

SathyaRaju

Другое решение я найду......


string tab = "";
                    DateTime dtToday = TodayDateinTimeZone();
                    SaveFileDialog fileTerminal = new SaveFileDialog();
                    fileTerminal.Filter = "xlsx files(*.xlsx)|*.xlsx|xls files(*.xls)|*.xls|All files(*.*)|*.*";
                    fileTerminal.FileName = lblTitle.Text.Replace(" ", "") + "_" + dtToday.ToString("ddMMyyyyhhmmss");
                    fileTerminal.FilterIndex = 2;
                    fileTerminal.InitialDirectory = @"C:\";
                    fileTerminal.RestoreDirectory = true;
                    StringWriter sw = new StringWriter();
                    HtmlTextWriter hw = new HtmlTextWriter(sw);


                    if (fileTerminal.ShowDialog() == DialogResult.OK)
                    {
                        string filename = fileTerminal.FileName;

                        using (var wrt = new StreamWriter(filename))
                        {

                            wrt.Write("<HTML><HEAD>");
                            wrt.Write("<style>TD {font-family:Verdana; font-size: 11px;} </style>");
                            wrt.Write("</HEAD><BODY>");
                            wrt.Write("<TABLE border='1' width='100%' >");
                            wrt.Write("<TR ><TD align='center' style='font-family: Verdana; font-size: 13px; font-weight: bold' colspan='" + dtBookedHistory.Columns.Count + "'>Booked History</TD></TR><TR><TD colspan='" + dtBookedHistory.Columns.Count + "'></TD></TR>");
                            //wrt.Write("<TR></TR><TR style='height:25px'><TD> Agent ID  : " + ddlAgentid.Text.ToString() + "</TD><TD> Payment Gateway  : " + cmbPagmentGateway.Text.ToString() + " </TD><TD>  PG Status : " + cmbPaymentStatus.Text.ToString() + "</TD><TD> Booked Status : " + cmbBookedStatus.Text.ToString() + "</TD><TD> From Date  : " + dtpFromDate.Text.ToString() + "</TD><TD> To Date  : " + dtpToDate.Text.ToString() + "</TD></TR><tr></tr>");
                           // wrt.Write("<TR></TR>");
                            wrt.Write(sw.ToString());
                            wrt.Write("<TR >");
                            //wrt.WriteLine("\t\t\t Booked History \n");
                            //wrt.WriteLine();
                            foreach (DataColumn datacolumn in dtBookedHistory.Columns)
                            {
                                wrt.WriteLine("<TD align='center' style='color: White; font-weight: bold;background-color:Maroon;font-size: 10px'>" + tab + datacolumn.ColumnName + "</TD>");

                            }
                            wrt.WriteLine("</TR>");
                            // wrt.WriteLine();
                            foreach (DataRow datarow in dtBookedHistory.Rows)
                            {
                                tab = "";
                                wrt.WriteLine("<TR >");
                                bool tempRowColorFlag = false;
                                //if (dtBookedHistory.Rows[j][0].ToString() != null)
                                //{
                                //wrt.Write(dtBookedHistory.Rows[j][0].ToString().Trim());
                                for (int i = 0; i < dtBookedHistory.Columns.Count; i++)

                                {

                                    if (datarow[i].ToString().ToUpper().Contains("TOTAL"))

                                        tempRowColorFlag = true;

                                    if (tempRowColorFlag)

                                        wrt.Write("<TD align='center' style='background-color: #c0c0c0'>");
                                    else
                                        wrt.Write("<TD align='center'>");

                                    wrt.Write(tab + datarow[i].ToString().Replace("\n", "?").Replace("\r", "?").Replace("\t", "?").Replace("\r\n", "?").Replace(" ", "?").Replace("?", " "));
                                    wrt.Write("</TD>");
                                }
                                tempRowColorFlag = false;
                                wrt.Write("</TR>");
                                //  }
                            }
                            wrt.Write("</TABLE>");
                            wrt.Write("</BODY></HTML>");

                            try
                            {
                                HttpContext.Current.Response.End();
                            }
                            catch
                            {
                            }
                        }
                    }