小编Pic*_*are的帖子

从Excel读取数据

我一直在尝试从excel文件中读取数据.它已经成功,但我遇到了一个问题.只要单元格的格式和单元格中输入的数据不匹配,我就会得到空数据


例如

如果数据单元格被格式化为日期 - dd/mm/yyyy并且用户输入13/17/2011,则作为日期格式和输入的日期是矛盾的,因此excel给我完全空单元格.仅当单元格格式为文本时,才会获得输入的数据.

为什么excel文件在输入日期格式不符合单元格格式的情况下给我空单元格?

这是读取excel数据的代码

if(fileEXT.Equals(".xls"))
{
   oledbConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("../Portal_Docs/UploadDocs/"+filename+"")+";Extended Properties=Excel 8.0");
}
else if(fileEXT.Equals(".xlsx"))
{
   oledbConn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+Server.MapPath("../Portal_Docs/UploadDocs/"+filename+"")+";Extended Properties=\"Excel 12.0;HDR=YES;\"");
}
else if(fileEXT.Equals(".xlsm"))
{
   oledbConn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+Server.MapPath("../Portal_Docs/UploadDocs/"+filename+"")+";Extended Properties=Excel 12.0 Macro");
}

oledbConn.Open();
OleDbCommand cmd = new OleDbCommand("SELECT * FROM [Sheet1$]", oledbConn);
OleDbDataAdapter oleda = new OleDbDataAdapter();
oleda.SelectCommand = cmd;
DataSet ds = new DataSet();
oleda.Fill(ds,"LocationDetails");
Run Code Online (Sandbox Code Playgroud)

.net c# format excel date

5
推荐指数
1
解决办法
1973
查看次数

将动态表格或div内容作为电子邮件正文内容发送

我有一个页面(somePage.aspx),我需要作为电子邮件正文生成的内容

<div id="DV_TimeReportWraper" runat="server" style="display:block">
    <table id="TBL_UsersinTblTime">
       <tr id="TR_UsersinTblTime">
         <td id="TD_H_Name" class="Dg">
             name                
         </td>
         <td id="TD_H_UserID" class="Dg">
             ID
         </td>
         <td id="TD_H_Status" class="Dg">
             initial Stage
         </td>
         <td id="TD_H_SignOutAutoExeState" class="Dg">
             current Stage
         </td>
       </tr>
       <%
           if(edata != null)
               for (int idx=0;idx<edata.Count;idx++) {
                   var row = edata[idx];
                   bool bgcl = (idx % 2) == 0;
                   string BgCol = "";
                   if (bgcl)
                       BgCol = "#70878F";
                   else
                       BgCol = "#E6E6B8";
       %>
       <tr style=" background-color:<%=BgCol%>">
           <td id="TD_Name">
               <% = row["name"] %>
            </td>
            <td id="TD_UserID"> …
Run Code Online (Sandbox Code Playgroud)

c# asp.net sendmail .net-4.0

5
推荐指数
1
解决办法
7792
查看次数

如果服务器在路由器后面,如何获取用户的公共 IP?

如果我的服务器在路由器后面,如何获取用户的公共 IP?

我想:

protected string GetIPAddress() 
{
    System.Web.HttpContext context = System.Web.HttpContext.Current;
    string ipAddress = context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
    if (!string.IsNullOrEmpty(ipAddress))
    {
        string[] addresses = ipAddress.Split(',');
        if (addresses.Length != 0)
        {
            return addresses[0];
        }
    }
    return context.Request.ServerVariables["REMOTE_ADDR"]; 
}
Run Code Online (Sandbox Code Playgroud)

但我得到的只是路由器网关。

显然,REMOTE_ADDR在我的情况下不起作用,也不会HTTP_X_FORWARDED_FOR

关于如何在我的情况下获取用户的公共 IP 的任何想法?

谢谢。

c# asp.net ip router

5
推荐指数
1
解决办法
1872
查看次数

创建注册表项,而不是通常的

谷歌搜索,但我不知道如何创建一个注册表项本身,而不是所有教程中看到的子项字符串值.注册表就像一棵树枝和树叶,我想创建一个新的分支并添加一个叶子

|tree
|-branch
|  |-my branch
|-branch
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助

更多信息让我更清楚,因为我被指向我不需要的东西;)

你单击其中一个注册表项,旁边是一个向下的箭头,你点击它,你得到更多的键可能与另一个箭头指向下更多的ketys,这就是我正在尝试创建一个"文件夹"看起来事情.我不确定我能解释多少但CreateSubKey对我没有这样的事情:

Key = Registry.CurrentUser.CreateSubKey("SOFTWARE\Microsof\game\addons\myaddons");
Run Code Online (Sandbox Code Playgroud)

现在,当我检查它时,没有名称的文件夹式图标 myaddons

.net c#

5
推荐指数
1
解决办法
6296
查看次数

十进制到八进制转换器,最后一个数字问题

我尝试制作一个C程序将用户输入的十进制数转换为八进制数.我用自己的逻辑编写了C代码,没有研究其他用户如何尝试这样做.它适用于数字601和其他一些数字,但对于大多数数字,它返回八进制等效值,最后一个数字1小于它应该的数量.因为75它返回112而不是113.我体会到使用printf%o干得不错,但它是一种挫败学习编程的目的.这是我的代码:

#include <stdio.h>
#include <math.h>

/* converting decimal to octal */

int main() 
{
    int n,x,y,p,s;
    printf("Enter a decimal number ");
    scanf("%d",&x);
    s=0;p=0;

    while (x!=0)
    {
         y=x%8;
         s=s+y*pow(10,p);
         x=(x-y)/8;
         p=p+1;
    }  

  printf("the octal equivalent is: %d\n",s);
  getch();
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

c decimal octal

5
推荐指数
1
解决办法
1981
查看次数

在mvc mini profiler中限制HttpRuntime缓存存储

  1. 我相信mvc mini profiler会将所有响应时间存储在HttpRuntime缓存中.
    如果我错了请告诉我,但如果是这样的话,那么这个缓存的最大限制是多少?在缓存已满之前,它可以分析多少个操作?我们使用迷你探查器来分析测试套件的操作,测试套件会随着时间的推移而增长,所以我很担心这个问题.我应该担心吗?

  2. 在相关的说明.当所有测试都被分析后,我只需在迷你探查器的类中调用该Save方法SqlServerStorage.并且所有响应时间都保存到SQL Server数据库中.有没有什么方法可以Save更频繁地调用该方法而无需一次又一次地启动和停止探查器?我们只是在测试套件的开头启动它,并在所有测试都被分析后结束它.我们将该MiniProfilers表的一个条目视为一个分析会话.现在我不能多次调用'Save'方法,因为MiniProfilerId每次调用它都需要一个新的方法.

有什么建议?

c# mvc-mini-profiler mvcminiprofiler

5
推荐指数
1
解决办法
499
查看次数

按字符串给出的类型获取对象列表

我得到了对象

IEnumerable<ObjectStateEntry> om = context.ObjectStateManager.GetObjectStateEntries(System.Data.EntityState.Modified);        
Run Code Online (Sandbox Code Playgroud)

如何获取List字符串给出的类型的对象?

Type typ = Type.GetType("mytype");
var om2 = om.Select(s => s.Entity).OfType<typ>(); // does not work
Run Code Online (Sandbox Code Playgroud)

c# generics types entity-framework

5
推荐指数
1
解决办法
92
查看次数

控制台暂停的方式

由于我是C#的新手,我在谷歌搜索了我过去常用于C++的各种东西.其中一个是在控制台应用程序中暂停的可能性.

很多人提出了不同的方式

System.Console.ReadKey(true);
System.Console.WriteLine();
Run Code Online (Sandbox Code Playgroud)

其他人甚至展示了自制功能,这些功能"应该"比其他功能更高效.确定哪一个是更好的解决方案真的很头疼.

任何人都可以举例说明C#如何解释它们以及哪种方式应该是最有效的?

c# console

5
推荐指数
2
解决办法
3万
查看次数

Unity工厂注入

我有一个如下所示的接口,我将其注入到统一容器中。

public interface IMyInstanceFactory
{
    IEnumerable<IMyInstance> GetAll();
}
Run Code Online (Sandbox Code Playgroud)

所有这些IMyInstance在运行时之前都是已知的,即它们可以在引导程序中设置,并且可以从统一中检索。我的具体实现IMyInstanceFactory如下:

public class MyInstanceFactory:IMyInstanceFactory
{
    IUnityContainer _container;

    public MyInstanceFactory(IUnityContainer container)
    {
        _container = container;
    }
    public IEnumerable<IMyInstance> GetAll()
    {
        return _container.ResolveAll<IMyInstance>();
    }
}
Run Code Online (Sandbox Code Playgroud)

..在我的引导程序中我做了这样的事情:

container.RegisterType<IMyInstance,MyInstance1>;
container.RegisterType<IMyInstance,MyInstance2>;
container.RegisterType<IMyInstance,MyInstance3>;
container.RegisterType<IMyInstanceFactory,MyInstanceFactory>;
Run Code Online (Sandbox Code Playgroud)

这一切都完美地解决了。但是,我不想依赖容器本身或IMyInstanceFactory为此实现,有没有办法可以在不实现的情况下进行设置IMyInstanceFactory?Unity 是否为此提供了便利?

诸如此类的东西..

container.RegisterType<IMyInstanceFactory,factory=>factory.GetAll()>().IsResolvedBy(unity.ResolveAll<IMyInstance>);
Run Code Online (Sandbox Code Playgroud)

我知道 castle 可以做到这一点,Unity 可以做类似的事情吗?

c# castle unity-container

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

从整数中获取第七位数字

我有一个10位数的整数.我需要获得该整数的第7位数.

我找到了一个数学解法来获得整数的第一个数字.

var myDigit = 2345346792;

var firstDigit = Math.Abs(myDigit);
while (firstDigit >= 10)
{
     firstDigit /= 10;
}
Run Code Online (Sandbox Code Playgroud)

我如何从myDigit获得第七位数字?我试图避免强制转换为字符串并执行子字符串.我希望看到获得第七位数字的数学版本.

任何人?

.net c# algorithm math

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