小编Mic*_*tum的帖子

以编程方式创建Excel 2007表

我正在尝试以编程方式创建Excel 2007文档.现在,我找到了两种方法:

目前,我使用ExcelPackage,它有一些非常严重的缺点和问题.因为我不需要创建过于复杂的Excel工作表(最复杂的是我明确需要将单元格类型设置为数字或文本),我接下来会选择选项1,但我只是想知道是否存在生成Excel 2007表格的任何其他好的和支持的方法?奖励积分如果可以创建它们而不必将它们保存到硬盘驱动器,即生成并直接将它们输出到流中.

.net 3.0是这里的目标,没有3.5善良:(

编辑:谢谢到目前为止.XML SDK确实只有3.5,但俄罗斯Roulet ......呃... COM Interop也是我想要尽可能避免的东西,特别是因为Excel 2007有一些有点复杂但仍然很容易创建的文档格式.我将查看发布的各种链接和提示.

.net c# excel

14
推荐指数
1
解决办法
5066
查看次数

Visual Studio扩展将解决方案文件夹映射到真实文件夹

在之前的一个问题中,我发现可悲的解决方案文件夹不是目录中的真实文件夹.

我想知道是否有添加此功能的AddOn或Macro?即当我创建一个解决方案文件夹时,它创建了一个真正的文件夹 当我创建一个新项目(右键单击=>添加=>新项目)时,它会自动将它们移动到该文件夹​​中,删除会导致它从磁盘中删除它(在询问后)等.

这适用于Visual Studio 2005,但我们可能会在几个月内升级到2008.

vsx visual-studio-2005 visual-studio-2008 visual-studio

14
推荐指数
1
解决办法
3066
查看次数

如何将脚本语言实现到C应用程序中?

我有一个C应用程序,我想包括一个脚本语言将某些功能放入脚本.我对此没有任何经验,也不知道从哪里开始(仍在学习C并尝试理解应用程序).

我的应用程序和脚本之间的嵌入和通信实际上如何工作?我想我需要脚本语言的解释器作为一个库(Windows上的.dll或可以编译到我的应用程序中的C源代码)?然后我可以做类似的事情

interpreter->run("myscript", some_object);
Run Code Online (Sandbox Code Playgroud)

脚本如何知道对象的属性?假设我的脚本想要读取或修改some_object-> some_field?

是否有针对这种嵌入优化的脚本语言?我知道Lua在游戏开发中很受欢迎,而像Python,Perl,PHP或Ruby这样的语言似乎更有针对性地作为独立的应用程序,但我在深层架构中的知识不允许更多有根据的猜测:) (标记为Lua和Python因为它们是我的最爱,但只要它在x86 Windows,Linux和Mac OS X上运行,我就可以使用其他脚本语言,只要它们很容易实现到C应用程序中)

c python scripting lua

14
推荐指数
5
解决办法
4248
查看次数

在代码/"刷新"请求中设置ASP.net executionTimeout

我将有一个ASP.net页面,它创建一些Excel表格并将它们发送给用户.问题是,有时我会得到Http超时,大概是因为Request运行的时间比executionTimeout长(每个默认值为110秒).

我只是想知道我的选择是什么来防止这种情况,而不想一般增加executionTimeout web.config

在PHP中,set_time_limit存在可以在函数中使用以延长其寿命,但我在C#/ ASP.net中没有看到类似的东西?

你如何处理ASP.net中的长期运行功能?

c# asp.net

13
推荐指数
1
解决办法
9102
查看次数

Visual Studio:检测不需要的程序集

在大型和/或长期运行的项目中,我倾向于引用许多程序集和命名空间,并且我最终会在以后删除某些功能或将其移动到不同的项目中.

我只是想知道,有没有办法在我的整个Visual Studio解决方案中检查每个项目(heck,每个.cs文件),并获得所有未被实际使用且可以安全删除的所有引用的程序集和命名空间的列表?我知道ReSharper可以为单个代码文件执行此操作,但我没有看到检查所有文件或检查不需要的程序集的选项.

如果重要,请使用Visual Studio 2005和2008 Professional.

编辑:谢谢到目前为止.ReSharper的问题或"如果构建中断则删除和读取"是因为它对每个文件和程序集都非常繁琐(我的项目在7个程序集中有大约120个.cs文件,并且在解决方案之外总共引用了18个程序集),所以理想情况下我正在寻找"一键式"的东西.可以在构建脚本中使用的一些自动方式的大额奖励积分来生成报告:)

.net visual-studio

13
推荐指数
1
解决办法
5134
查看次数

在ASP.net中"正确"实现OpenID - 成员身份或身份验证提供商?

有几种方法可以在ASP.net站点上使用OpenID,但它们似乎都没有使用现有的成员身份和身份验证提供程序机制.

我想知道创建一个完全依赖OpenID的网站的正确方法是什么?继续使用Forms身份验证,但实现了对OpenID进行查找的SqlMembershipProvider变体?

或者我会更深入一级并编写自己的FormsAuthenticationModule?这似乎有些过于简单,因为(据我所知)表单身份验证可以查找任何数据源.

或者是否有第三种方法,保持FormsAuthenticationModule,但使其对OpenID进行查找?

因为这是针对ASP.net MVC应用程序的,所以我没有使用内置的Login WebForms控件,如果这有所不同的话.

asp.net openid authentication asp.net-membership

13
推荐指数
1
解决办法
4999
查看次数

WinForms应用程序的架构?

几个星期前我已经启动了一个WinForms项目,因为我真的不知道我想要什么功能,所以我一路上就添加了它们.这现在造成了一个可怕的混乱,我的MainForm是一个很大的泥球,例如一些重要的状态变化是由UI元素触发到我必须调用控件的OnChange事件,以便更改数据库中的某些状态.

简而言之:我刚刚开始了一个新项目,我想采取更好的方法.我只是不知道哪个是"好"的.在ASP.net MVC中,我发现MVVM模式非常有用,但在桌面上,MVVM似乎只适用于WPF,而不适用于WinForms.

另一种方法是三层体系结构:我的数据库类目前直接与UI进行对话.我现在创建一个新的静态类("ApplicationState"),它与数据库进行通信并触发事件以告诉用户界面"嘿,某事发生了变化!".UI将操纵State,然后将处理数据库持久性,并在UI需要更新时再次引发事件.这里的要点是ApplicationState类永远不会直接修改UI,但是UI订阅了Events.这看起来像干净/"MVC-y"的方式,但也许我在这里忽略了什么?

基本上我的最终目标是让UI完全独立于数据库层,以确保我不再将业务逻辑连接到UI.

.net c# architecture winforms

13
推荐指数
3
解决办法
1万
查看次数

源控制系统的算法?

我需要编写一个简单的源代码控制系统,并想知道我将用于文件差异的算法是什么?

由于许可证问题,我不想查看现有的源代码.我需要在MPL下获得许可,因此我无法查看任何现有系统,如CVS或Mercurial,因为它们都是GPL许可的.

为了给出一些背景知识,我只需要一些非常简单的函数 - 文件夹中的二进制文件.没有子文件夹,每个文件的行为都像它自己的存储库.没有元数据,除了一些权限.

总的来说非常简单,我唯一担心的是如何只存储文件从修订版到修订版的差异,而不会浪费太多空间但也没有太低效(也许存储每个X更改的完整版本,有点像视频中的关键帧?)

.net c# algorithm version-control

13
推荐指数
3
解决办法
1485
查看次数

在MVC项目中放置一个简单的类?

好吧,这可能是边缘主观的,但是我想知道在ASP.net MVC项目中放一个简单的类可以做什么?我的意思是像Base36 De/Encoder这样的类,既不是模型也不是控制器.这应该总是进入一个单独的类库程序集,还是这样的类在MVC Web应用程序项目中占有一席之地?

是的,我知道它可能并不重要,我可能有点过于谨慎从一开始就以"正确"的方式学习新技术.

asp.net-mvc

12
推荐指数
1
解决办法
2861
查看次数

正确公开List <T>?

我知道我不应该暴露一个List<T>属性,但我想知道这样做的正确方法是什么?例如,这样做:

public static class Class1
{
    private readonly static List<string> _list;

    public static IEnumerable<string> List
    {
        get
        {
            return _list;
            //return _list.AsEnumerable<string>(); behaves the same
        }
    }

    static Class1()
    {
        _list = new List<string>();
        _list.Add("One");
        _list.Add("Two");
        _list.Add("Three");
    }
}
Run Code Online (Sandbox Code Playgroud)

允许我的来电者简单地回到List<T>:

    private void button1_Click(object sender, EventArgs e)
    {
        var test = Class1.List as List<string>;
        test.Add("Four"); // This really modifies Class1._list, which is bad™
    }
Run Code Online (Sandbox Code Playgroud)

所以,如果我想要一个真正不可变的List<T>,我总是要创建一个新的列表?例如,这似乎有效(测试在转换后为null):

    public static IEnumerable<string> List
    {
        get
        {
            return new ReadOnlyCollection<string>(_list); …
Run Code Online (Sandbox Code Playgroud)

.net c#

12
推荐指数
2
解决办法
2599
查看次数