Вывести текст из ComboBox в Excel

79
12 августа 2019, 13:10

не получается сделать, что бы текст находящийся в 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; }
    }
}

}

READ ALSO
oauth 401 error

oauth 401 error

Пытаюсь использовать oAuth для получения данных через API etsycom Делал все по их инструкции:

150
Помогите создать конфигурацию для Monit

Помогите создать конфигурацию для Monit

У меня есть сервер сокетов, который запускается через php файл и работает в фонеНо иногда он падает

102
Laravel Eloquent Index

Laravel Eloquent Index

В общем читал тут книжку, и нашел там следующие примеры:

137