Jelajahi Sumber

转换-excel修复

liyijie 2 tahun lalu
induk
melakukan
5294d53cda

+ 62 - 6
PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterExcelDialogViewModel.cs

@@ -5,6 +5,7 @@ using PDF_Office.Helper;
 using PDF_Office.Model;
 using PDF_Office.Model.Dialog.ConverterDialogs;
 using PDF_Office.Model.Dialog.HomePageToolsDialogs.HomePageBatchProcessing;
+using PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePageBatchProcessing.HomePageConverter;
 using Prism.Commands;
 using Prism.Mvvm;
 using Prism.Services.Dialogs;
@@ -38,6 +39,30 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
 
         public string PageRangeSelectIndex { set; get; } = "0";
 
+        private int _anyContentSelectIndex=0;
+        public int AnyContentSelectIndex
+        {
+            get { return _anyContentSelectIndex; }
+            set
+            {
+                SetProperty(ref _anyContentSelectIndex, value);
+
+                AnyContent(_anyContentSelectIndex);
+            }
+        }
+
+        private int _onlyTableSelectIndex=0;
+        public int OnlyTableSelectIndex
+        {
+            get { return _onlyTableSelectIndex; }
+            set
+            {
+                SetProperty(ref _onlyTableSelectIndex, value);
+
+                OnlyTable(_onlyTableSelectIndex);
+            }
+        }
+
         private int maxPageRange = 0;
         public int MaxPageRange
         {
@@ -214,14 +239,11 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
             if (radioButton != null) {
                 switch (radioButton)
                 {
-                    case "ForEachPageRadioBtn":
-                        ConverterExcelModel.excelOption=ConverterExcelModel.ExcelOptions();
-                        break;
-                    case "ForTheDocRadioBtn":
-                        ConverterExcelModel.excelOption = ConverterExcelModel.ExcelOptions(WorksheetOptions.ForTheDocument);
+                    case "AnyContentRadioBtn":
+                        AnyContent(AnyContentSelectIndex);
                         break;
                     case "OnlyTableRadioBtn":
-                        ConverterExcelModel.excelOption = ConverterExcelModel.ExcelOptions(WorksheetOptions.ForEachTable, ContentOptions.OnlyTable);
+                        OnlyTable(OnlyTableSelectIndex);
                         break;
                     case "OnlyTextRadioBtn":
                         ConverterExcelModel.excelOption = ConverterExcelModel.ExcelOptions(WorksheetOptions.ForTheDocument, ContentOptions.OnlyText);
@@ -232,6 +254,40 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
             }
         
         }
+
+        private void AnyContent(int SelectedIndex)
+        {
+            switch (SelectedIndex)
+            {
+                case 0:
+                    ConverterExcelModel.excelOption = ConverterExcelModel.ExcelOptions();
+                    break;
+                case 1:
+                    ConverterExcelModel.excelOption = ConverterExcelModel.ExcelOptions(WorksheetOptions.ForTheDocument);
+                    break;
+                default:
+                    break;
+            }
+
+        }
+
+        private void OnlyTable(int SelectedIndex)
+        {
+            switch (SelectedIndex)
+            {
+                case 0:
+                    ConverterExcelModel.excelOption = ConverterExcelModel.ExcelOptions(WorksheetOptions.ForEachTable, ContentOptions.OnlyTable);
+                    break;
+                case 1:
+                    ConverterExcelModel.excelOption = ConverterExcelModel.ExcelOptions(WorksheetOptions.ForEachPage, ContentOptions.OnlyTable);
+                    break;
+                case 2:
+                    ConverterExcelModel.excelOption = ConverterExcelModel.ExcelOptions(WorksheetOptions.ForTheDocument, ContentOptions.OnlyTable);
+                    break;
+                default:
+                    break;
+            }
+        }
         #endregion
 
         #region 构架行为

+ 66 - 7
PDF Office/ViewModels/Dialog/HomePageToolsDialogs/HomePageBatchProcessing/HomePageConverter/HomePageConverterExcelViewModel.cs

@@ -1,12 +1,14 @@
 using ComPDFKit_Conversion.Options;
 using PDF_Office.Model;
 using PDF_Office.Model.Dialog.ConverterDialogs;
+using PDF_Office.Model.EditTools.Watermark;
 using Prism.Commands;
 using Prism.Mvvm;
 using Prism.Regions;
 using System;
 using System.Collections.Generic;
 using System.Linq;
+using System.Windows.Controls;
 
 namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePageBatchProcessing.HomePageConverter
 {
@@ -16,6 +18,30 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePageBatchProcess
         public ConverterExcelDialogModel ConverterExcelModel = new ConverterExcelDialogModel();
 
         public HomePageConverterDialogViewModel homePageConverterDialogViewModel { get; set; }
+
+        private int _anyContentSelectIndex;
+        public int AnyContentSelectIndex
+        {
+            get { return _anyContentSelectIndex; }
+            set
+            {
+                SetProperty(ref _anyContentSelectIndex, value);
+
+                AnyContent(_anyContentSelectIndex);
+            }
+        }
+
+        private int _onlyTableSelectIndex;
+        public int OnlyTableSelectIndex
+        {
+            get { return _onlyTableSelectIndex; }
+            set
+            {
+                SetProperty(ref _onlyTableSelectIndex, value);
+
+                OnlyTable(_onlyTableSelectIndex);
+            }
+        }
         #endregion
 
         #region 委托声明
@@ -25,7 +51,6 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePageBatchProcess
         public HomePageConverterExcelViewModel()
         {
             RadioButtonCommand = new DelegateCommand<string>(radiobutton);
-            
         }
         #region 逻辑函数
         private void radiobutton(string e)
@@ -35,14 +60,11 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePageBatchProcess
             {
                 switch (radioButton)
                 {
-                    case "ForEachPageRadioBtn":
-                        homePageConverterDialogViewModel. ConverterExcelModel.excelOption = ConverterExcelModel.ExcelOptions();
-                        break;
-                    case "ForTheDocRadioBtn":
-                        homePageConverterDialogViewModel.ConverterExcelModel.excelOption = ConverterExcelModel.ExcelOptions(WorksheetOptions.ForTheDocument);
+                    case "AnyContentRadioBtn":
+                        AnyContent(AnyContentSelectIndex);
                         break;
                     case "OnlyTableRadioBtn":
-                        homePageConverterDialogViewModel.ConverterExcelModel.excelOption = ConverterExcelModel.ExcelOptions(WorksheetOptions.ForEachTable, ContentOptions.OnlyTable);
+                        OnlyTable(OnlyTableSelectIndex);
                         break;
                     case "OnlyTextRadioBtn":
                         ConverterExcelModel.excelOption = ConverterExcelModel.ExcelOptions(WorksheetOptions.ForTheDocument, ContentOptions.OnlyText);
@@ -53,6 +75,39 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePageBatchProcess
             }
 
         }
+
+        private void AnyContent(int SelectedIndex) {
+            switch (SelectedIndex)
+            {
+                case 0:
+                    homePageConverterDialogViewModel.ConverterExcelModel.excelOption = ConverterExcelModel.ExcelOptions();
+                    break;
+                case 1:
+                    homePageConverterDialogViewModel.ConverterExcelModel.excelOption = ConverterExcelModel.ExcelOptions(WorksheetOptions.ForTheDocument);
+                    break;
+                default:
+                    break;
+            }
+
+        }
+
+        private void OnlyTable(int SelectedIndex)
+        {
+            switch (SelectedIndex)
+            {
+                case 0:
+                    homePageConverterDialogViewModel.ConverterExcelModel.excelOption = ConverterExcelModel.ExcelOptions(WorksheetOptions.ForEachTable, ContentOptions.OnlyTable);
+                    break;
+                case 1:
+                    homePageConverterDialogViewModel.ConverterExcelModel.excelOption = ConverterExcelModel.ExcelOptions(WorksheetOptions.ForEachPage, ContentOptions.OnlyTable);
+                    break;
+                case 2:
+                   homePageConverterDialogViewModel.ConverterExcelModel.excelOption = ConverterExcelModel.ExcelOptions(WorksheetOptions.ForTheDocument, ContentOptions.OnlyTable);
+                    break;
+                default:
+                    break;
+            }
+        }
         #endregion
         #region 构架行为
         public void OnNavigatedTo(NavigationContext navigationContext)
@@ -60,8 +115,12 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePageBatchProcess
             var homePageConverterVM = navigationContext.Parameters[ParameterNames.ViewContentViewModel] as HomePageConverterDialogViewModel;
             if (homePageConverterVM != null)
             {
+                
                 homePageConverterDialogViewModel = homePageConverterVM;
+                OnlyTableSelectIndex = 0;
+                AnyContentSelectIndex = 0;
                 homePageConverterDialogViewModel.ConverterExcelModel.excelOption = ConverterExcelModel.ExcelOptions();
+                
             }
         }
 

+ 5 - 0
PDF Office/ViewModels/Dialog/HomePageToolsDialogs/HomePageBatchProcessing/HomePageRemoveDialogViewModel.cs

@@ -238,6 +238,11 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePageBatchProcess
 
         private void OptionsRemove()
         {
+            if (!(WatermarkIsRemove || BackgroundIsRemove || HeaderFooterIsRemove || BatesIsRemove || SecurityIsRemove)) {
+                MessageBoxEx.Show("没选");
+                return;
+            
+            }
             OptionsRemoveGridIsEnabled = "False";
             //GC.KeepAlive(indexDelegate);
             fileNamesIndex = 0;

+ 7 - 6
PDF Office/Views/Dialog/ConverterDialogs/ConverterExcelDialog.xaml

@@ -31,16 +31,17 @@
                         <StackPanel Orientation="Vertical">
                             <TextBlock Text="Excel工作簿设置:" Height="20"/>
                             <StackPanel Orientation="Vertical" Margin="0,7,0,0">
-                                <RadioButton Name="ForEachPageRadioBtn" Command="{Binding RadioButtonCommand}" CommandParameter="{Binding ElementName=ForEachPageRadioBtn,Path=Name}" IsChecked="True">
-                                    <TextBlock Text="将每个页面转换为一个单独的工作表"/>
-                                </RadioButton>
-                                <RadioButton Margin="0,6,0,0" Name="ForTheDocRadioBtn" Command="{Binding RadioButtonCommand}" CommandParameter="{Binding ElementName=ForTheDocRadioBtn,Path=Name}">
-                                    <TextBlock Text="将所有页面转换为一个工作表格式"/>
+                                <RadioButton Name="AnyContentRadioBtn" Command="{Binding RadioButtonCommand}" CommandParameter="{Binding ElementName=AnyContentRadioBtn,Path=Name}" IsChecked="True">
+                                    <TextBlock Text="所有内容"/>
                                 </RadioButton>
+                                <ComboBox Margin="0,8,0,0" Width="228" Height="28.55" IsEnabled="{Binding ElementName=AnyContentRadioBtn,Path=IsChecked}"  SelectedIndex="{Binding AnyContentSelectIndex}">
+                                    <ComboBoxItem Content="为每个页面创建工作表 "/>
+                                    <ComboBoxItem Content="为文档创建单个工作表"/>
+                                </ComboBox>
                                 <RadioButton Margin="0,10,0,0" Name="OnlyTableRadioBtn" Command="{Binding RadioButtonCommand}" CommandParameter="{Binding ElementName=OnlyTableRadioBtn,Path=Name}">
                                     <TextBlock Text="只提取表格"/>
                                 </RadioButton>
-                                <ComboBox Name="OnlyTableComboBox" Margin="0,8,0,0" Width="258" Height="32" IsEnabled="{Binding ElementName=OnlyTableRadioBtn,Path=IsChecked}" SelectionChanged="OnlyTableComboBox_SelectionChanged" SelectedIndex="0">
+                                <ComboBox Name="OnlyTableComboBox" Margin="0,8,0,0" Width="228" Height="28.55" IsEnabled="{Binding ElementName=OnlyTableRadioBtn,Path=IsChecked}"  SelectedIndex="{Binding OnlyTableSelectIndex}">
                                     <ComboBoxItem Content="支持一个表格提取到单独的工作表"/>
                                     <ComboBoxItem Content="支持按页面提取表格到单独的工作表"/>
                                     <ComboBoxItem Content="支持将所有表格提取到一个工作表"/>

+ 0 - 16
PDF Office/Views/Dialog/ConverterDialogs/ConverterExcelDialog.xaml.cs

@@ -44,21 +44,5 @@ namespace PDF_Office.Views.Dialog.ConverterDialogs
             }
         }
 
-        private void OnlyTableComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
-        {
-            switch (OnlyTableComboBox.SelectedIndex) { 
-                case 0:
-                    ((ConverterExcelDialogViewModel)this.DataContext).ConverterExcelModel.excelOption = ((ConverterExcelDialogViewModel)this.DataContext).ConverterExcelModel.ExcelOptions(WorksheetOptions.ForEachTable, ContentOptions.OnlyTable);
-                    break;
-                case 1:
-                    ((ConverterExcelDialogViewModel)this.DataContext).ConverterExcelModel.excelOption = ((ConverterExcelDialogViewModel)this.DataContext).ConverterExcelModel.ExcelOptions(WorksheetOptions.ForEachPage, ContentOptions.OnlyTable);
-                    break;
-                case 2:
-                    ((ConverterExcelDialogViewModel)this.DataContext).ConverterExcelModel.excelOption = ((ConverterExcelDialogViewModel)this.DataContext).ConverterExcelModel.ExcelOptions(WorksheetOptions.ForTheDocument, ContentOptions.OnlyTable);
-                    break;
-                default:
-                    break;
-            }
-        }
     }
 }

+ 7 - 6
PDF Office/Views/Dialog/HomePageToolsDialogs/HomePageBatchProcessing/HomePageConverter/HomePageConverterExcel.xaml

@@ -7,16 +7,17 @@
         <StackPanel Orientation="Vertical" Width="245">
             <TextBlock Text="Excel工作簿设置:" Height="20"/>
             <StackPanel Orientation="Vertical" Margin="0,7,0,0">
-                <RadioButton Name="ForEachPageRadioBtn" Command="{Binding RadioButtonCommand}" CommandParameter="{Binding ElementName=ForEachPageRadioBtn,Path=Name}">
-                    <TextBlock Text="将每个页面转换为一个单独的工作表"/>
-                </RadioButton>
-                <RadioButton Margin="0,6,0,0" Name="ForTheDocRadioBtn" Command="{Binding RadioButtonCommand}" CommandParameter="{Binding ElementName=ForTheDocRadioBtn,Path=Name}">
-                    <TextBlock Text="将所有页面转换为一个工作表格式"/>
+                <RadioButton Name="AnyContentRadioBtn" Command="{Binding RadioButtonCommand}" CommandParameter="{Binding ElementName=AnyContentRadioBtn,Path=Name}" IsChecked="True">
+                    <TextBlock Text="所有内容"/>
                 </RadioButton>
+                <ComboBox Margin="0,8,0,0" Width="228" Height="28.55" IsEnabled="{Binding ElementName=AnyContentRadioBtn,Path=IsChecked}"  SelectedIndex="{Binding AnyContentSelectIndex}">
+                    <ComboBoxItem Content="为每个页面创建工作表 "/>
+                    <ComboBoxItem Content="为文档创建单个工作表"/>
+                </ComboBox>
                 <RadioButton Margin="0,10,0,0" Name="OnlyTableRadioBtn" Command="{Binding RadioButtonCommand}" CommandParameter="{Binding ElementName=OnlyTableRadioBtn,Path=Name}">
                     <TextBlock Text="只提取表格"/>
                 </RadioButton>
-                <ComboBox Name="OnlyTableComboBox" Margin="0,8,0,0" Width="228" Height="28.55" IsEnabled="{Binding ElementName=OnlyTableRadioBtn,Path=IsChecked}" SelectedIndex="0" SelectionChanged="OnlyTableComboBox_SelectionChanged">
+                <ComboBox Name="OnlyTableComboBox" Margin="0,8,0,0" Width="228" Height="28.55" IsEnabled="{Binding ElementName=OnlyTableRadioBtn,Path=IsChecked}"  SelectedIndex="{Binding OnlyTableSelectIndex}">
                     <ComboBoxItem Content="支持一个表格提取到单独的工作表"/>
                     <ComboBoxItem Content="支持按页面提取表格到单独的工作表"/>
                     <ComboBoxItem Content="支持将所有表格提取到一个工作表"/>

+ 1 - 17
PDF Office/Views/Dialog/HomePageToolsDialogs/HomePageBatchProcessing/HomePageConverter/HomePageConverterExcel.xaml.cs

@@ -15,22 +15,6 @@ namespace PDF_Office.Views.Dialog.HomePageToolsDialogs.HomePageBatchProcessing.H
             InitializeComponent();
         }
 
-        private void OnlyTableComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
-        {
-            switch (OnlyTableComboBox.SelectedIndex)
-            {
-                case 0:
-                    ((HomePageConverterExcelViewModel)this.DataContext).homePageConverterDialogViewModel.ConverterExcelModel.excelOption = ((HomePageConverterExcelViewModel)this.DataContext).ConverterExcelModel.ExcelOptions(WorksheetOptions.ForEachTable, ContentOptions.OnlyTable);
-                    break;
-                case 1:
-                    ((HomePageConverterExcelViewModel)this.DataContext).homePageConverterDialogViewModel.ConverterExcelModel.excelOption = ((HomePageConverterExcelViewModel)this.DataContext).ConverterExcelModel.ExcelOptions(WorksheetOptions.ForEachPage, ContentOptions.OnlyTable);
-                    break;
-                case 2:
-                    ((HomePageConverterExcelViewModel)this.DataContext).homePageConverterDialogViewModel.ConverterExcelModel.excelOption = ((HomePageConverterExcelViewModel)this.DataContext).ConverterExcelModel.ExcelOptions(WorksheetOptions.ForTheDocument, ContentOptions.OnlyTable);
-                    break;
-                default:
-                    break;
-            }
-        }
+        
     }
 }