Задача
Разработать программу на языке C#, которая автоматически изменит значения ячеек ценовой категории прайс-листа, представленного в Excel-формате, по заданной формуле.
Требования
Программа должна иметь графический интерфейс и реализована с применением WPF. Функциональные возможности программы:
- выбор Excel-файла (прайс-листа);
- задание формулы в формате Excel;
- выбор папки назначения, в которой будет сгенерирован модифицированный Excel-файл.
Пример
Для файла (исходный файл) применяется формула [R=X+X*0,2], по сути увеличиваем значение на 20%. В итоге получаем следующий файл (итоговый файл) в качестве результата программы.
Справка
В качестве источников для работы рекомендую ресурсы:
- Полное руководство по языку программирования С#
- Работа с Excel
В качестве демонстрации, как можно изменить значение ячейки F51 в листе Excel-файла, см. пример консольного приложения:
using System; using Excel = Microsoft.Office.Interop.Excel; namespace ConsoleApp { class Program { static Excel.Application ex; static void Main(string[] args) { try { ex = new Microsoft.Office.Interop.Excel.Application(); ex.Workbooks.Open(@"c:\Users\landw\Downloads\202102191.xlsx", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); var excelsheets = ex.Worksheets; var excelworksheet = (Excel.Worksheet)excelsheets.get_Item(1); int number; if (Int32.TryParse(excelworksheet.Cells[51, 6].Value.ToString(), out number)) excelworksheet.Cells[51, 6] = number + number * 0.2; } catch { } finally { ex.Workbooks[1].Save(); ex.Quit(); } } } }
Репозиторий
https://bitbucket.org/landwatersun/price/src/master/