Слияние документов excel WPF C#
Я пытаюсь создать простую программу для объединения файлов excel и испытываю проблемы с загрузкой файлов в список по отдельности.
Пользователь может выбрать несколько файлов, которые появляются в списке, а затем при нажатии кнопки слияния создается новый файл с именем, указанным в текстовом поле сбоку.
Моя проблема заключается в том, когда я прихожу, чтобы загрузить файлы для слияния из списка.
btnMergeFile_Click(object sender, RoutedEventArgs e) { Workbook workbook = new Workbook(); workbook.LoadFromFile(@"filename.xlsx"); Workbook workbook2 = new Workbook(); workbook2.LoadFromFile(@"filename.xlsx"); }
Можно ли называть имена списков по отдельности?
Извините, что я новичок в c# и wpf.
Вот буквально весь код!
код XAML
<DockPanel Margin="10"> <WrapPanel HorizontalAlignment="Center" DockPanel.Dock="Top" Margin="0,0,0,10"> Select Files Merge Files Clear Files <TextBox x:Name="newFileName" TextAlignment="Left" HorizontalAlignment="Center" Width="150" Text="New File Name"/> <ListBox x:Name="listBox1" /> </DockPanel>
.ЦЕЗИЙ
using System; using System.Windows; using Microsoft.Win32; using System.Data; using Spire.Xls; namespace ExcelMerge_1._1 { public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } public void btnSelectFile_Click(object sender, RoutedEventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Multiselect = true; openFileDialog.Filter = "csv files (*.csv)|*.csv|Excel files (*.XLSX)|*.XLSX"; openFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); if (openFileDialog.ShowDialog() == true) { foreach (string filename in openFileDialog.FileNames) listBox1.Items.Add(System.IO.Path.GetFullPath(filename)); } } public void btnMergeFile_Click(object sender, RoutedEventArgs e) { Workbook workbook = new Workbook(); workbook.LoadFromFile(@"filename.xlsx"); Workbook workbook2 = new Workbook(); workbook2.LoadFromFile(@"filename.xlsx"); Worksheet sheet2 = workbook2.Worksheets[0]; DataTable dataTable = sheet2.ExportDataTable(); Worksheet sheet1 = workbook.Worksheets[0]; sheet1.InsertDataTable(dataTable, false, sheet1.LastRow + 1, 1); workbook.SaveAsXml(newFileName.Text); } private void btnClearFile_Click(object sender, RoutedEventArgs e) { listBox1.Items.Clear(); } } }
Что я уже пробовал:
Сначала попробовал интерлоп и не смог заставить его работать, поэтому решил попробовать шпиль, выглядит многообещающе, однако это простое препятствие меня заводит!
Graeme_Grant
В чем именно заключается Ваш вопрос?