Как удалить выбранный столбец (и его строки) в DataGrid?
Выбор флажков и запись Excel:
CsvGrid.SelectAllCells();
foreach (var checkBox in CheckBoxes.Children.OfType<CheckBox>().Where(x => x.IsChecked == true))
{
for(int i = 0; i < CsvGrid.SelectedCells.Count; i++)
{
if (checkBox.Tag != CsvGrid.Columns[i].Header) // How to remove this Column and its lines?
}
}
ApplicationCommands.Copy.Execute(null, CsvGrid);
String result = (string) Clipboard.GetData(DataFormats.Text);
CsvGrid.UnselectAllCells();
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.FileName = "Document";
saveFileDialog.DefaultExt = ".xls";
saveFileDialog.Filter = "Excel|*.xls|Excel 2010|*.xlsx|CSV files (*.csv)|*.CSV";
saveFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
if (saveFileDialog.ShowDialog() == true)
{
File.WriteAllText(saveFileDialog.FileName, result.Replace(',', ' '));
MessageBox.Show("File created!");
}
Чтение таблицы CSV.Запись в DataTable с использованием LumenWorks
using LumenWorks.Framework.IO.Csv;
DataTable csvTable = new DataTable();
using (CsvReader csvReader = new CsvReader(new StreamReader(FilePath.Text), true))
{
csvTable.Load(csvReader);
for (int i = 0; i < csvTable.Columns.Count; i++)
{
csvTable.Columns[i].ColumnName = csvTable.Columns[i].ColumnName.Replace("_", " ");
}
CsvGrid.ItemsSource = csvTable.DefaultView;
}