как сгенерировать ячейки автоматической подгонки в Excel с помощью filestreamresult?

#c# #asp.net #asp.net-mvc

#c# #asp.net #asp.net-mvc

Вопрос:

как сгенерировать ячейки автоматической подгонки в Excel с помощью c # filestreamresult

Бринал

Комментарии:

1. Пожалуйста, предоставьте больше контекста и / или примера кода.

Ответ №1:

Автоматическая подгонка содержимого

Aspose.Cells предоставляет класс Workbook, который представляет файл Excel. Класс Workbook содержит коллекцию Worksheets, которая позволяет получить доступ к каждому листу в файле Excel.

Рабочий лист представлен классом Worksheet. Класс Worksheet предоставляет широкий спектр свойств и методов для управления рабочим листом. Но в этом разделе мы увидим, как мы можем использовать класс Worksheet для автоматической подгонки строк или столбцов.

Строка автоматической подгонки — просто

Самый простой подход к автоматической подгонке ширины и высоты строки заключается в вызове метода AutoFitRow класса Worksheet. Метод AutoFitRow принимает индекс строки (строки, автоматический размер которой желателен) в качестве параметра.

Пример:

 //Creating a file stream containing the Excel file to be opened

FileStream fstream = new FileStream("C:\book1.xls", FileMode.Open);

//Opening the Excel file through the file stream

Workbook workbook = new Workbook(fstream);      

//Accessing the first worksheet in the Excel file

Worksheet worksheet = workbook.Worksheets[0];    

//Auto-fitting the 3rd row of the worksheet

worksheet.AutoFitRow(2);

//Saving the modified Excel file

workbook.Save("C:\output.xls");     

//Closing the file stream to free all resources

fstream.Close();
  

Строка автоматической подгонки в диапазоне ячеек

Мы знаем, что одна строка состоит из множества столбцов / ячеек. Aspose.Cells также позволяет разработчикам автоматически подгонять строку на основе содержимого в диапазоне ячеек внутри строки, вызывая перегруженную версию метода AutoFitRow, который принимает три следующих параметра:

 * Row Index, represents the index of the row whose contents need to auto-fit
* First Column Index, represents the index of the first column of the row
* Last Column Index, represents the index of the last column of the row
  

Этот метод проверит содержимое всех столбцов в строке, а затем автоматически подгонит строку.

Пример:

 //Auto-fitting the 3rd row of the worksheet based on the contents in a range of

//cells (from 1st to 9th column) within the row

worksheet.AutoFitRow(2,0,8);
  

Столбец автоматической подгонки — простой

Самый простой подход к автоматической подгонке ширины и высоты столбца заключается в вызове метода AutoFitColumn класса Worksheet. Метод AutoFitColumn принимает индекс столбца (столбца, автоматический размер которого желателен) в качестве параметра.

Пример:

 worksheet.AutoFitColumn(3);
  

Столбец автоматической подгонки в диапазоне ячеек

Один столбец состоит из множества строк / ячеек. Разработчики могут автоматически подгонять столбец на основе содержимого в диапазоне ячеек внутри столбца, вызывая перегруженную версию метода AutoFitColumn, который принимает три следующих параметра:

 * Column Index, represents the index of the column whose contents need to auto-fit
* First Row Index, represents the index of the first row of the column
* Last Row Index, represents the index of the last row of the column
  

Этот метод проверит содержимое всех строк в столбце, а затем автоматически подгонит столбец.

Пример:

 worksheet.AutoFitColumn(3,0,8);
  

Строки автоматической подгонки для объединенных ячеек

MS Excel изначально не устанавливает операцию автоматической подгонки строк к объединенным ячейкам. Иногда эта функция становится жизненно важной для пользователя, и ему действительно нужно реализовать операцию автоматической подгонки строк и для объединенных ячеек.

Aspose.Cells предоставляет эту возможность, и у него есть API AutoFitterOptions. Используя API, можно автоматически подгонять строки на листе, включая объединенные ячейки.

Пример:

 Workbook wb = new Workbook();

Worksheet _worksheet = wb.Worksheets[0];


Range range = _worksheet.Cells.CreateRange(0, 0, 1, 2);

range.Merge();


_worksheet.Cells[0, 0].Value = "A quick brown fox jumps over the lazy dog. A quick brown fox jumps over the lazy dog....end";


Aspose.Cells.Style style = _worksheet.Cells[0, 0].GetStyle();

style.IsTextWrapped = true;

_worksheet.Cells[0, 0].SetStyle(style);    

AutoFitterOptions options = new AutoFitterOptions();

options.AutoFitMergedCells = true;

_worksheet.AutoFitRows(options);           

wb.Save("e:\test2\autofitmergedcells.xlsx");
  

Важно знать

Если ячейка объединена, то методы автоматической подгонки не будут применяться к этой ячейке (по умолчанию), которые такие же, как в Microsoft Excel. Более того, если текст ячейки переносится, метод AutFitColumn также не будет применен к нему. Еще одна важная вещь, которую следует знать, это то, что методы автоматической подгонки требуют много времени. Итак, вы должны вызывать эти методы как можно реже, чтобы обеспечить эффективность вашего приложения.