我有一个电子表格,我希望单元格公式始终查看特定单元格,即使插入行或列并且特定单元格移动.实际上,我总是希望查看表的"顶部"单元格,即使在表格顶部插入新行也是如此.
例如.单元格A2的公式为[= $ E $ 2]
现在我突出显示第1行并执行Insert Row.A2中的公式现在说[= $ E $ 3],但我希望它能看到新的第2行.
无论我对"引用"单元做什么,美元都将保留绝对的单元格引用,但无论我对"引用"单元做什么,我都希望单元格引用是绝对的.如果这是有道理的!
实际上,我在excel 2007中有一个"表",我想总是引用顶行.问题是行从顶部添加到此表中,因此顶行继续向下移动以为新的顶行腾出空间.
--- Alistair.
我正在维护一个程序,该程序从PDP-11(模拟!)程序中获取数据并将其置于基于Windows的现代系统中.我们遇到的问题是某些数据值被报告为"1.#QNAN"以及"1.#QNB".客户最近透露,PDP-11程序中的"坏"值由2个16位字表示,除第一个之外设置了所有位.我认为,当我们尝试将这些转换为IEEE浮点数时,我们会得到错误.
我发现下面的代码用于将PDP-11值转换为IEEE.我对浮点表示的复杂性并不是很了解,但这对我来说似乎有点简单!这是否真的可靠地将PDP-11浮标转换为IEEE?
// ---------------------------------------------------------------- cnvPDPfloat
// CNVPDPFLOAT
// ----------------------------------------------------------------------------
//
// Converts PDP11 float (two 16-bit words) into IEEE float
//
// PDP11 and IEEE floats have same layout so can be mapped onto eachother.
// But PDP11 exponent must have 2 subtracted for IEEE. Or just divide by 4.
//
float cnvPDPfloat( PDP11Float input )
{
union
{
unsigned long pdp11;
float ieee;
} uFloat;
uFloat.pdp11 = (input.word[0] << 16) + input.word[1];
return (uFloat.ieee / (float) 4.0);
}
Run Code Online (Sandbox Code Playgroud)
--- …
我的项目中有以下C#函数,它应该打开并返回一个现有的Excel工作簿对象:
Application _excelApp;
// ...
private Workbook OpenXL(string path, string filename)
{
try
{
if (_excelApp == null)
{
_excelApp = new Application();
}
Workbook workBook = _excelApp.Workbooks.Open(path + filename, // Name
0, // Do not update links
true); // Open read-only
return workBook;
}
catch (Exception e)
{
_excelApp = null;
throw new ArgumentException("Error opening " + path + filename, e);
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我用"C:\"和"scratch.xlsx"运行它时,Open()调用会抛出以下错误:
Microsoft Excel cannot access the file 'C:\scratch.xlsx'. There are several possible reasons:
• The file …
Run Code Online (Sandbox Code Playgroud) 我们有一个.NET项目依赖于旧的VB6 OCX(整个过程最初是VB6和C++,我们正在逐步将它们全部迁移到.Net,但我们需要它在目前的半迁移状态下工作).我们的一个开发人员可以构建项目,但没有其他人可以.
开发人员发现他有对interop.foo.dll文件和AxInterop.foo.dll的引用,两者都存在.
我已经构建了VB6项目,并通过浏览它将对OCX的引用添加到我的.NET项目副本中.我现在有一个interop.foo.dll的引用,它存在,但我没有对AxInterop.foo.dll的引用,并且该文件也不存在.我也有类似"Type'AxFoo.AxocxFoo'未定义"的错误,这会阻止项目构建.
我将如何生成此AxInterop.foo.dll文件并引用它?我可以看到很多关于这些文件是什么的StackOverflow问题,但没有说明它们是如何生成的!
非常感谢,
--- Alistair.
我在 SO 上看到了一些这样的问题,但没有一个答案对我有用!这是我的删节代码:
<Grid Margin="10,4,2,3">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="150" />
</Grid.ColumnDefinitions>
<Image Name="myImage" />
<WrapPanel Orientation="Vertical" Grid.Column="1" >
<Label x:Name="labelDimensions" Content="Image Dimensions" />
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*" />
<ColumnDefinition Width="1*" />
<ColumnDefinition Width="3*" />
</Grid.ColumnDefinitions>
<Label Grid.Column="0"
x:Name="imageWidth"
Content="{Binding Path=ActualWidth,
ElementName=myImage,
StringFormat={}{0:1234.5}}" />
<Label Grid.Column="1" x:Name="label3" Content=" x " />
<Label Grid.Column="2"
x:Name="imageHeight"
Content="{Binding Path=ActualHeight,
ElementName=myImage,
StringFormat={}{0:1234.5}}" />
</Grid>
</WrapPanel>
</Grid>
Run Code Online (Sandbox Code Playgroud)
我期待在“图像尺寸”标签下方看到“641.3 x 480.0”之类的东西,但无论我做什么,它都会出现“641.30000000 x 480”之类的东西。
我有 {0:1234.5} 和 {0:#,#.#} 这样的格式,但下界没有任何效果。我也试过 ConentStringFormat 作为建议的一个 SO 答案,但它甚至没有编译。
任何建议将不胜感激。
抱歉模糊的标题!
我有一个包含许多成员变量的类(系统,区域,站点......)
public sealed class Cello
{
public String Company;
public String Zone;
public String System;
public String Site;
public String Facility;
public String Process;
//...
}
Run Code Online (Sandbox Code Playgroud)
我有这个类的对象数组.
private Cello[] m_cellos = null;
// ...
Run Code Online (Sandbox Code Playgroud)
我需要知道数组是否包含具有相同站点但具有不同系统,区域或公司的对象,因为这种情况是非法的.我还有各种其他检查,但它们都是类似的.
Array类有许多看起来很有前途的函数,但我不是很喜欢定义'key selector'函数和类似的东西.
任何建议或指示将不胜感激.
--- Alistair.