Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> C# + Exel 
:(
    Опции темы
Aliance
Дата 30.8.2008, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: нет
Всего: 137



У меня есть таблица в Exel (emc.xls, Лист1) состоящая из трех полей - ID, firstName, lastName, Gender и Age
Хочу в ASP.NET получить эти данные с помощью C#.
С помощью прочтения манов, написал такой код.

Default.aspx:
Код

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="GridView1" DataSourceID="SqlDataSource1" runat="server" />
        <asp:SqlDataSource ID="SqlDataSource1" runat="server"
            SelectCommand="SELECT [ID], [firstName], [lastName], [Gender], [Age] FROM [Лист1$]"
            ConnectionString="<%$ ConnectionStrings:EMC %>" />
    </div>
    </form>
</body>
</html>


Default.aspx.cs:
Код

using System;
using System.Data;
using System.Data.Odbc;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Response.Write( "loaded" );
    }
}


Web.Config:
Код

<?xml version="1.0"?>
<configuration>
    <appSettings/>
  <connectionStrings>
    <add name="EMC"
         providerName="System.Data.Odbc"
         connectionString="Driver={Microsoft Excel Driver (*.xls)};
                           DBQ=D:\EMC\emc.xls;
                           DriverID=278;
                           SERVER=(local);"/>
  </connectionStrings>
  <system.web>
        <compilation debug="true"/>
        <authentication mode="Windows"/>
        <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
            <error statusCode="403" redirect="NoAccess.htm" />
            <error statusCode="404" redirect="FileNotFound.htm" />
        </customErrors>
    <caching>
      <sqlCacheDependency enabled="true" pollTime="1000">
        <databases>
          <add name="EMC" connectionStringName="EMC"/>
        </databases>
      </sqlCacheDependency>
    </caching>
  </system.web>
</configuration>


Получаю ошибку - "Keyword not supported: 'driver'. "
Выборка идет из Лист1$ - это правильно?
Нужно ли что-то добавлять в файл Default.aspx.cs?
Что нужно добавить в Web.Config для правильной работы ODBC?

Это сообщение отредактировал(а) Aliance - 30.8.2008, 20:56
PM MAIL WWW ICQ Skype   Вверх
Aliance
Дата 30.8.2008, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: нет
Всего: 137



Странно, кто-то может быть объяснит, вот такой код уже работает:
Код

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    Все записи пользователей с мужским полом<br />
    <div>
        <asp:GridView ID="GridView1" DataSourceID="SqlDataSource1" runat="server"/>
        <asp:SqlDataSource
            ID="SqlDataSource1"
            runat="server"
            SelectCommand="SELECT * FROM [Лист1$] WHERE [Gender] = 'M'"
            ConnectionString="Driver={Microsoft Excel Driver (*.xls)};
                              DBQ=D:\EMC\emc.xls;
                              DriverID=278;
                              SERVER=(local);"
            ProviderName="System.Data.Odbc"/>
    </div>
    <br /><br />Все записи пользователей с женским полом<br />
    <div>
        <asp:GridView ID="GridView2" DataSourceID="SqlDataSource2" runat="server"/>
        <asp:SqlDataSource
            ID="SqlDataSource2"
            runat="server"
            SelectCommand="SELECT * FROM [Лист1$] WHERE [Gender] = 'F'"
            ConnectionString="Driver={Microsoft Excel Driver (*.xls)};
                              DBQ=D:\EMC\emc.xls;
                              DriverID=278;
                              SERVER=(local);"
            ProviderName="System.Data.Odbc"/>
    </div>
    <br /><br />Все записи пользователей старше 22 лет<br />
    <div>
        <asp:GridView ID="GridView3" DataSourceID="SqlDataSource3" runat="server"/>
        <asp:SqlDataSource
            ID="SqlDataSource3"
            runat="server"
            SelectCommand="SELECT * FROM [Лист1$] WHERE [Age] = 22"
            ConnectionString="Driver={Microsoft Excel Driver (*.xls)};
                              DBQ=D:\EMC\emc.xls;
                              DriverID=278;
                              SERVER=(local);"
            ProviderName="System.Data.Odbc"/>
    </div>
    </form>
</body>
</html>


Это сообщение отредактировал(а) Aliance - 30.8.2008, 21:33
PM MAIL WWW ICQ Skype   Вверх
Idsa
Дата 31.8.2008, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

Репутация: 15
Всего: 62



Цитата(Aliance @  31.8.2008,  01:08 Найти цитируемый пост)
Странно, кто-то может быть объяснит, вот такой код уже работает:

Видимо, причина в том, что Вы изменили запрос. Можете попробовать запустить этот же запрос, но строкой соединения в web.config - должно сработать.


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0408 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.