编程技巧 - 文章列表

  • C#实现Word中表格信息读取

    很多时候,会有很多信息存放在Word文档中。而我们需要把这些信息提取出来,另做它用。而Word的格式是ms的机密,不知道有没有NB人可以对其做字符流的分析,反正我是没这能力也没这打算。所以就只能用ms提供的组件来进行编程。但ms没有提供托管的类库,而是提供了对com组件的PIA转换。具体添加,使用和相关知识,可以参见kaneboy’s blog中的http://blog.joycode.com/kaneboy/articles/67688.aspx。高手的讲解,很是清晰。而我想做的是对word文档中的表信息进行提取。网上很难找到相关的代码(打开一个已有文档,对其内容进行分析),但我

  • 在Asp.net中为图像加入版权信息

    你试过用.net来进行图像处理吗?公司最近进行的一个项目,数据库中存入了很多的产品图片,可是都没有版权信息,当时客户要求将所有的图片打上公司名称?这时候,你该怎么办?\n虽说我还是江湖嫩手,可是对这一问题的解决方案还是很多,归结如下:\n1.使用图形处理软件,如Photoshop等,利用其批处理功能,可以实现这个功能,可是每次数据录入员加进图片的话,还得加工一下图片,很麻烦的,看录入员大姐平常对我很不错,每日笑脸相迎,能忍心折磨她么?这个方案否决了。\n2.使用.net行云流水般的图像处理,当录入员大姐上传图片的时候,就自动加上公司标记,这样岂不更好,嗯,这想法不错,可以进入2005最佳解决方

  • ASP.NET技巧:Web导出Word需要添加头文件

    这个在asp的时候我是这么做的,但是在asp.net中,还是推荐用现成的对象好,比如 \nHttpContext.Current.Response.AppendHeader(“Content-Disposition”, “attachment;filename=” + filename); HttpContext.Current.Response.Charset = “UTF-8″; HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.De

  • C#应用:用Split()方法提取字符

    前几天做一个项目(C#),其中有个情况是:从数据库表中取出某一字段的值,然后再次分配。该字段内容以空格为分隔符(至少3个空格),第1个空格前的内容分给A,第2个空格前的内容分给B, 其余空格前的内容分给C。\n比如字段为E = “AA BB CC DD EE FF GG ”:那么A = “AA”, B = “BB”,\nC = “CC DD EE FF GG”。\n如果按常规理解,那么用循环语句来获取,但是我并不想这样用,因为C#中有Split()方法。可是,在我用时还是遇到点问题,就是动态字段的空格很难控制,那么分给C的内容也不能很好地取到。怎么办,问了一些高手,也是说用循环语句

  • C#减少图片文件大小和尺寸

    有一个员工管理,需要在数据库字段中保存员工的照片,但已有的照片非常巨大,1024*768, 2M左右,这么大的数据存入数据库,不管是对管理或是传输都是问题,而实际上登记照只要很小就行了,下面进行减肥(C#):\n//可以读取一些常用的格式,如jpg,bmp等Bitmap myBitmap = new Bitmap(“c:t.bmp”); \n//生成80*100的缩略图Image myThumbnail = myBitmap.GetThumbnailImage(80, 100, null, IntPtr.Zero);System.IO.MemoryStream ms

  • ASP.NET技巧:使用 Anthem.NET 框架的一个调试经历

    简介:Anthem 是一个很好用的 Ajax 框架,支持 ASP.NET 1.1, 2.0。\n  由于该框架的所有控件都继承自 ASP.NET 自身的服务器控件,保留了几乎所有这些控件的属性和行为(除了把它们的 PostBack 改为 CallBack 的无刷新调用之外)。所以学习曲线很平缓。\n  今天我在使用 Anthem 的时候碰到了一个比较麻烦的调试问题,记录于此。\n  在下面的代码中,我用了一个 Anthem.Repeater 控件。<asp:XmlDataSource ID=”XmlDataSource2″ runat=”server&

  • ASP.NET 2.0的异步页面刷新

    ASP.NET 2.0的异步页面刷新功能真得很酷,今天尝试用它解决我的一个应用问题,真是帮了大忙了。\n我的页面要向后台的socket服务提交一个查询,首先这是一个可能长时间不返回的操作;其次为了拿到socket服务返回的长度不定、有可能很大的Response数据,我不得不采用了dotNET的IAsyncResult BeginReceive(byte[] buffer, int offset, int size, SocketFlags socketFlags, AsyncCallback callback, object state);办法来异步提交socket命令,然后在回调函数中迭代调

  • C-sharp开发应避免的几个小滥用

    一 String和StringBuilder   少量的字符串操作不宜采用StringBuilder。\n  由于string是不可变得对象,对于string的叠加,每次操作都会生成一个新的string对象。所以针对大量string的操作时,我们会采用StringBuilde。但似乎很多人都知道这一点,所以只要字符串相加,不管三七二一都用StringBuilder。其实这是个误区,在这里要注意”大量”一词,少量的字符串操作用StringBuilder反而得不偿失。比如下面的两种写法:\nstring sql = “insert into tab

  • ASP.NET技巧:URL编码处理

    要解决的问题:将下面的URL作为一个参数传到其他的页面 1 http://domain/de.apx?uid=12&page=15 2 url后面的参数中出现汉字等,如: ….aspx?title=起重机在出现上面的情况的时候,必须经过一个RUL编码和解码的过程,否则会出现错误.代码如下:\n1//传值2string temp = ” <a href=’Add.aspx?url=” +Server.UrlEncode( skin.Page.Request.Url.AbsoluteUri )+ “&title=&#

  • .NET程序中常用的代码

    . 打开新的窗口并传送参数:  传送参数: response.write(“<script>window.open(’*.aspx?id=”+this.DropDownList1.SelectIndex+”&id1=”+…+”’)</script>”)   接收参数: string a = Request.QueryString(“id”); string b = Request.QueryString(“id1″);