не получается сделать, что бы текст находящийся в ComboBox выводился в Excel, подскажите что ещё мне нужно в код добавить? У меня получается, что: первый столбик который относится к DataGridTextColumns текст в Excel виден, а вот столбик который относится к DataGridComboBoxColumns текст в Excel не виден
<Window x:Class="ComboboxExcel.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:local="clr-namespace:ComboboxExcel"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<ObjectDataProvider x:Key="PersonEnum" MethodName="GetValues"
ObjectType="{x:Type sys:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type Type="local:SecondName"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition Height="30"/>
</Grid.RowDefinitions>
<DataGrid x:Name="DGR" AutoGenerateColumns="False" ItemsSource="{Binding AllPerson}">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Name}"/>
<DataGridComboBoxColumn Header="SecondName" SelectedItemBinding="{Binding SecondName, Mode=TwoWay}" ItemsSource="{Binding Source={StaticResource PersonEnum}}"/>
</DataGrid.Columns>
</DataGrid>
<Button x:Name="btn" Grid.Row="1" Width="70" Content="Save Excel" Click="btn_Click" />
</Grid>
public partial class MainWindow : Window
{
private MVVM mvvm = new MVVM();
public MainWindow()
{
InitializeComponent();
this.DataContext = mvvm;
}
private void btn_Click(object sender, RoutedEventArgs e)
{
Excel.Application excelApp = new Excel.Application();
excelApp = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbook workbook = excelApp.Workbooks.Add(System.Reflection.Missing.Value);
Microsoft.Office.Interop.Excel.Worksheet woorksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Sheets[1];
excelApp.Visible = true;
excelApp.SheetsInNewWorkbook = 1;
excelApp.Sheets[1].Name = "Лист 1";
excelApp.DisplayAlerts = true;
for(int i = 0; i < DGR.Columns.Count; i++)
{
Microsoft.Office.Interop.Excel.Range woorkrange = (Microsoft.Office.Interop.Excel.Range)woorksheet.Cells[1, i + 1];
woorksheet.Columns.get_Range("A1", "B1").Borders.LineStyle = Excel.XlLineStyle.xlContinuous;
woorksheet.get_Range("A1", "B1").VerticalAlignment = Microsoft.Office.Interop.Excel.XlVAlign.xlVAlignCenter;
woorkrange.Value2 = DGR.Columns[i].Header;
}
for (int i = 0; i < DGR.Columns.Count - 1; i++)
{
for (int j = 0; j < DGR.Items.Count; j++)
{
TextBlock b = DGR.Columns[i].GetCellContent(DGR.Items[j]) as TextBlock;
Microsoft.Office.Interop.Excel.Range myRange = (Microsoft.Office.Interop.Excel.Range)woorksheet.Cells[j + 2, i + 1];
myRange.Value2 = b.Text;
}
}
}
}
}
public class Person
{
public string Name { get; set; }
public SecondName SecondName { get; set; }
}
public enum SecondName
{
Иванов,
Петров
}
}
public class MVVM
{
private ObservableCollection<Person> allPerson = new ObservableCollection<Person>();
public ObservableCollection<Person> AllPerson
{
get { return allPerson; }
set { allPerson = value; }
}
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Пытаюсь использовать oAuth для получения данных через API etsycom Делал все по их инструкции:
У меня есть сервер сокетов, который запускается через php файл и работает в фонеНо иногда он падает