我有以下例程将DataTable转储到Excel工作表中.
private void RenderDataTableOnXlSheet(DataTable dt, Excel.Worksheet xlWk,
string [] columnNames, string [] fieldNames)
{
// render the column names (e.g. headers)
for (int i = 0; i < columnNames.Length; i++)
xlWk.Cells[1, i + 1] = columnNames[i];
// render the data
for (int i = 0; i < fieldNames.Length; i++)
{
for (int j = 0; j < dt.Rows.Count; j++)
{
xlWk.Cells[j + 2, i + 1] = dt.Rows[j][fieldNames[i]].ToString();
}
}
}
Run Code Online (Sandbox Code Playgroud)
无论出于何种原因,在我相对现代的PC上倾销25列和400行的DataTable大约需要10-15秒.占用更长的测试人员的机器.
我有什么办法可以加快这段代码的速度吗?或者互操作本身就很慢?
解决方案:根据Helen Toomik的建议,我修改了方法,它现在应该适用于几种常见的数据类型(int32,double,datetime,string).随意扩展它.处理我的数据集的速度从15秒变为1秒.
private void RenderDataTableOnXlSheet(DataTable dt, Excel.Worksheet …Run Code Online (Sandbox Code Playgroud) 如何在C#中构造新变量.
我的意思是,要像这样
public void updateXXX(string endingOfVariable, int newValue)
{
this.textBox_{endingOfVariable} = newValue;
}
Run Code Online (Sandbox Code Playgroud)
这是在Php中实现的:
$a = 'var'; $b = 'iable';
$variable = 'var';
echo ${$a.$b};
Run Code Online (Sandbox Code Playgroud)
但也许在C#中是可能的.
问题是 - 我在C#Windows窗体中创建了~500个文本框,如果我想设置一个值,我需要构建一个switch(){case:; 有500个案例的陈述.
我正在寻找一个用于从文本生成图表的图表工具.我现在只需要序列和状态类型图,但我很好奇人们会推荐什么?我需要一些独立的东西,而不是一个适用于Linux,OSX和Windows的基于Web的工具.
我正在尝试执行一个程序(从ImageMagick转换为具体),其父文件夹存在于路径上.因此,当我从命令行运行时convert,它会运行命令.但是,以下内容失败:
String command = "convert"
CommandLine commandLine = CommandLine.parse(command);
commandLine.addArgument(...)
...
int exitValue = executor.execute(commandLine);
Run Code Online (Sandbox Code Playgroud)
如果我指定convert executable(C:\Program files\...)的完整路径,则此代码有效.如果我不这样做,我会抛出一个带退出值的异常4.
如何让commons-exec识别系统路径?
java path environment-variables system-calls apache-commons-exec
当我有这样的JavaScript数组时:
var member = {
"mother": {
"name" : "Mary",
"age" : "48"
},
"father": {
"name" : "Bill",
"age" : "50"
},
"brother": {
"name" : "Alex",
"age" : "28"
}
}
Run Code Online (Sandbox Code Playgroud)
如何计算这个数组中的对象?!
我的意思是如何得到一个计数结果3,因为里面只有3个物体:母亲,父亲,兄弟?!
如果它不是数组,那么如何将其转换为JSON数组?
这段代码错了吗?它只是没有返回任何东西:
public IEnumerable<string> GetMethodsOfReturnType(Type cls, Type ret)
{
var methods = cls.GetMethods(BindingFlags.NonPublic);
var retMethods = methods.Where(m => m.ReturnType.IsSubclassOf(ret))
.Select(m => m.Name);
return retMethods;
}
Run Code Online (Sandbox Code Playgroud)
它返回一个空的枚举器.
注意:我在ASP.NET MVC Controller上调用它来寻找ActionResults
GetMethodsOfReturnType(typeof(ProductsController), typeof(ActionResult));
Run Code Online (Sandbox Code Playgroud) ruby-1.8.7-p249 > xml = Builder::XmlMarkup.new
=> <inspect/>
ruby-1.8.7-p249 > xml.foo '<b>wow</b>'
=> "<inspect/><foo><b>wow</b></foo>"
ruby-1.8.7-p249 >
Run Code Online (Sandbox Code Playgroud)
Builder正在转义内容,并将b标记转换为转义值.我如何告诉Builder不要逃避它?我使用的是Ruby 1.8.7.
我听说Scala有路径依赖类型.这与内部阶级有关,但这实际意味着什么,为什么我关心?
c# ×4
.net ×1
.net-2.0 ×1
.net-3.5 ×1
2d ×1
builder ×1
c++ ×1
char ×1
diagramming ×1
excel ×1
geometry ×1
graphics ×1
interop ×1
java ×1
javascript ×1
object ×1
oop ×1
path ×1
performance ×1
reflection ×1
ruby ×1
scala ×1
string ×1
system-calls ×1
type-systems ×1
uml ×1
winforms ×1
wpf ×1