我的Excel AddIn针对的是.NET 35 SP1,我只是将其更改为目标.NET 4.现在我无法调试b/c断点永远不会停止.我可以设置断点,但调试器永远不会在任何断点处停止.我检查所有项目是否处于Debug配置中.谢谢
c#,ExcelDNA,在我的UDF中,我想传递一系列单元格,MyUDF(A1:A2)
我尝试了MyUDF(对象param1),如果我输入myUDF(A1:A2),MyUDF永远不会被调用我也试过MyUDF(字符串param1),MyUDF(string [] param1)都不起作用.
应该是什么类型的参数?谢谢
在一个Excel单元格中,我放了12,如果我将其格式化为Date,那么它是1/12/1900.在C#中,我使用DateTime.FromOADate(12),它返回1/11/1900.但是如果我把411放在Excel中并将其格式化为日期,它将是2/14/1901.在C#中,DateTime.FromOADate(411)也返回2/14/1901.我对这种差异感到困惑.我怎样才能在C#中获得正确的日期呢?
我有一个项目列表(MyDetail对象),我想用流排序方法排序.该对象有3个字段:field1,field2,field3.我想先按field3然后按field2然后按field1排序,所有都按相反顺序排序.所以我写了一个方法sortMyList.
我有一个未排序的项目列表unSortedDetails如下:myDetail1:"20180201",false,false myDetail2:"20180101",false,false myDetail3:"20180101",false,true
在sortMyList(unSortedDetails)之后,我希望我的结果是myDetail3,myDetail1,myDetail2,但实际结果是myDetail1,myDetail3,myDetail2,为什么?
所以,如果我像下面这样实现Comparable for MyDetail,那么它按预期工作.这太奇怪了.我无法弄清楚为什么.谢谢你的帮助!
public List<MyDetail> sortMyList(List<MyDetail> unSortedDetails){
List<MyDetail> myDetails = unSortedDetails
.stream().sorted(Comparator.comparing(MyDetail::getField11).reversed()
.thenComparing(MyDetail::getField2).reversed()
.thenComparing(MyDetail::getField3).reversed())
.collect(Collectors.toList());
return myDetails;
}
@Setter
@Getter
public class MyDetail{
String field1;
Boolean field2;
Boolean field3;
}
@Setter
@Getter
public class MyDetail implement Comparable<MyDetail>{
String field1;
Boolean field2;
Boolean field3;
@Override
public int compareTo(MyDetail o) {
if (this == o || this.equals(o)) return 0;
if (field3) return -1;
if (o.field3) return 1;
if (!field3 && !o.field3 && field2) return -1;
if(!field3 && …Run Code Online (Sandbox Code Playgroud) 我已经阅读了帖子@ 如何阻止Wpf Tabcontrol在Tab更改上卸载Visual Tree,但是我无法让它工作,我一定错过了什么.请帮忙.谢谢
我正在使用来自示例项目的类TabControlEx @ http://www.pluralsight-training.net/community/blogs/eburke/archive/2009/04/30/keeping-the-wpf-tab-control-from-destroying-its -children.aspx
<Window x:Class="MyMainwindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sharedC="clr-namespace:myShared.Converter;assembly=myShared"
xmlns:mainTab="clr-namespace:MyWPFLib.View" Title="{Binding Title}"
Height="600" Width="850" Top="223" Left="164" ResizeMode="CanResize" Closing="WindowClosing"
WindowStyle="ToolWindow">
<Grid>
<mainTab:TabControlEx IsSynchronizedWithCurrentItem="True"
Grid.Row="0"
Margin="10 0 5 5"
x:Name="MainTabRegion"
TabStripPlacement="Top"
SelectedIndex="{Binding Tabs.SelectedIndex}"
ItemsSource="{Binding Tabs.TabItems}"
>
<TabControl.ItemContainerStyle>
<Style TargetType="{x:Type TabItem}">
<Setter Property="Header">
<Setter.Value>
<Binding Path="Header"/>
</Setter.Value>
</Setter>
<Setter Property="Visibility"
Value="{Binding IsVisible, Mode=OneWay, Converter={StaticResource boolToVis}}"/>
</Style>
</TabControl.ItemContainerStyle>
</mainTab:TabControlEx>
</Grid>
</Window>
Datasource for the maintab is Tabs.TabItems
public ObservableCollection<ITabControl> TabItems
{
get
{
return _items;
}
}
Run Code Online (Sandbox Code Playgroud)
每个TabItem都是用它构建的
<DataTemplate …Run Code Online (Sandbox Code Playgroud) 我想从字符串中找到路径并删除它们,例如string1 = "'c:\a\b\c'!MyUDF(param1, param2,..) + 'c:\a\b\c'!MyUDF(param3, param4,..)...",我想要一个正则表达式来找到模式'[some path]'!MyUDF,并删除'[path]'.谢谢
编辑例如输入string1 ="'c:\ a\b\c'!MyUDF(param1,param2,..)+'c:\ a\b\c'!MyUDF(param3,param4,..)"; 预期输出"MyUDF(param1,param2,...)+ MyUDF(param3,param4,...)"其中MyUDF是一个函数名,所以它只包含字母