Альтернатива MS-Access/Excel для Управления электронной таблицей

Вы не можете использовать ==. Вам нужно grepl. Также нет необходимости в ifelse, т.е.

...mutate(player_mike = as.integer(grepl('redo', Engi_log)))

Как отмечает @Gregor, нам не нужно проходить через механизм регулярных выражений grepl, поэтому добавление fixed = TRUE в grepl повысит эффективность

6
задан Breandán 14 February 2009 в 23:05
поделиться

8 ответов

Перемещение в .NET позволило бы Вам иметь лучшие инструменты в Вашем распоряжении для управления данными.

Необходимо быть осторожными, хотя о том, что точно Вы делаете в данный момент с Вашим Решением доступа: если Вы делаете большую обработку особого случая для обработки данных от и до Excel, то возможности, необходимо будет все еще сделать возможности на любом языке или платформе, которую Вы выбрали.

Если у Вас есть много кода, который инвестируют в получение по запросу Excel Data into Access затем, Вы могли бы все еще сохранить Доступ для той части и использовать .NET для помощи Вам в выполнении сравнений и создания получающегося отчета Excel.

Немного трудно действительно предоставить рекомендацию, не зная больше о Вашем проекте.

Если Вы просто хотите использовать автоматизацию, чтобы вытянуть - в данных и создать Ваш файл Excel, то .NET не может предложить Вам много, поскольку необходимо будет все еще сделать те же самые вещи, которые Вы уже сделали в Доступе.

Вместо этого можно рассмотреть использование коммерческого компонента Excel, которые используют другую парадигму для открытий/создавания электронной таблицы Excel более хорошим способом.
Существует несколько поставщиков компонента, которые имеют их.

Одно решение состоит в том, чтобы также использовать инструменты создания отчетов, чтобы непосредственно вытянуть данные из Excel и представить отчет, который можно просто сохранить назад к Excel.

Мой совет был бы:

  • Если Ваше Решение доступа стабильно, и оно делает свое задание, то можно рассмотреть хранение его.
    Перемещение в новую систему будет стоить Вам времени и денег, и необходимо проверить, стоит ли результат инвестиций.
  • Если Вы чувствуете себя слишком принужденными возможностями Доступа, то проводите некоторое время, экспериментируя с различными решениями и компонентами, которые позволяют Вам управлять Excel, например, с помощью LINQ, поставщик Excel (1 или 2) может обеспечить хорошую абстракцию или попробовать различные коммерческие компоненты, пока Вы не находите тот, который соответствует Вашим потребностям.

Если Вы идете путем .NET, Вы даже не можете закончить тем, что не нуждались в базе данных для обработки данных.
Если Вы делаете, хотя, можно всегда использовать Струю - или ее новая версия, ACE - как бэкенд, который создаст базы данных MSAccess.
Это уже установлено на большинстве машин и хорошо поддерживается инструментами MS.
Другими хорошими вариантами является Компактный SQL Server и SQLite, поскольку ни один из них не требует, чтобы сложная установка, просто DLL поставлялась с Вашим проектом.

5
ответ дан 10 December 2019 в 02:54
поделиться

В SpreadsheetGear нашей специальностью является высокопроизводительный Excel совместимые компоненты электронной таблицы. Мы слышим все время (см. несколько отзывов клиента на этой странице), что SpreadsheetGear для.NET быстрее и легче использовать, чем другие опции.

Существуют живые образцы ASP.NET с C# и источником VB.NET и бесплатной демонстрационной версией, если Вы хотите попробовать его за себя.

Отказ от ответственности: Я владею SpreadsheetGear LLC

2
ответ дан 10 December 2019 в 02:54
поделиться

Я сказал бы для объемов данных 20 000 строк, что Вы работаете с, база данных SQL-сервера действительно не собирается получать Вас очень за исключением перемещения в хранимые процедуры для манипулирования данными. В этом отношении это возможно лучше, чем VBA, таким образом, Вы, вероятно, получите кодовую базу, это более удобно в сопровождении. Однако объемы данных, которые Вы описываете, являются крошечными по стандартам базы данных. Я не ожидал бы, что производительность будет проблемой, пока у Вас нет одного или двух порядков величины больше данных, чем это.

Если Вы хотите сделать задание порчи данных, Вы могли бы быть более обеспечены с языком сценариев как Perl или Python. Эти языки намного лучше для задач манипулирования данными, чем C# или VB.Net. Хорошие, бесплатные дистрибутивы окон и Perl и Python могут быть найдены по www.activestate.com.

Excel может быть задан сценарием с Python через интерфейс python-com использование того же API как VBA, но получение намного лучшего языка с огромным множеством доступных libraies. Точно так же это может также быть сделано с Perl через Win32:: OLE. Существуют также некоторые служебные библиотеки, такие как pyexcelerator, xlrd, и xlwt, для Python и электронной таблицы:: WriteExcel/Spreadsheet:: ParseExcel для Perl. Существуют также модули, доступные для создания устанавливаемых приложений Windows, таких как Py2EXE или Perl Dev Kit

Эта регистрация Stackoverflow обсуждает использование Excel из Python, включая генерацию обертки с MakePy, в немного большей глубине.

Он Вы работаете с .NET, Вы могли также попробовать IronPython - это - собственная реализация .NET Python, который будет работать куда угодно с подходящим установленным временем выполнения .NET. Можно получить также свободный плагин Visual Studio под названием IronPythonStudio).

Другая альтернатива является R. R является, прежде всего, статистическим пакетом, но базовый язык имеет сильные возможности манипулирования данными и множество интерфейсных библиотек (и другие, такие как графика, различные статистические вычисления и интерфейс Excel.. Это - на самом деле вполне мощное манипулирование данными общего назначения и инструмент создания отчетов.

2
ответ дан 10 December 2019 в 02:54
поделиться

Библиотека Apache POI может быть полезна для Вас. Это - базирующийся Java и может работать над файлами Excel.

Другой выбор может состоять в том, чтобы использовать прямой драйвер ODBC для работы над файлом XLS. Могло бы быть много записей хотя..

http://poi.apache.org/

Проект ПОИ состоит из API для управления различными форматами файлов, основанными на формате OLE 2 Составного документа Microsoft и формате Office OpenXML, с помощью чистого Java. Короче говоря, можно считать и записать MS файлы Excel с помощью Java. Кроме того, можно считать и записать MS Word и MS файлы PowerPoint с помощью Java. ПОИ является Ваш Java решение Excel (для Excel 97-2007). Однако мы имеем полный API для портирования других форматов OLE 2 Составного документа и приветствуем других для участия.

Составной документ OLE 2 основанные на формате файлы включает большинство файлов Microsoft Office, таких как XLS и DOC, а также сериализация MFC основанные на API форматы файлов.

Office OpenXML основанные на формате файлы включает новое (2007 +) xml базирующиеся форматы файлов, включая файлы Microsoft Office, такие как XLSX, DOCX и PPTX.

Править: Проверьте инструмент как монарх Pro, это превосходно при анализе данных и т.д.

1
ответ дан 10 December 2019 в 02:54
поделиться

SpreadsheetGear полностью качается! Вы получаете лучший из обоих миров, где вся логика в электронной таблице доступна для Вас для выполнения из кода. Можно действительно сократить разработку, поскольку Вы можете сделать, чтобы подразделения помогли сформировать логику для своих бизнес-процессов.

1
ответ дан 10 December 2019 в 02:54
поделиться

Это звучит мне, что Доступ не помогает Вам как посреднику. Строки 20K не походят на много мне. Вы сказали, что идете от Excel до Доступа и затем обратно к Excel. Необходимо ли иметь в наличии данные Доступа?

В противном случае я предложил бы идти с .NET и сторонней библиотекой Excel как FlexCel и пошел бы прямо от Excel до Excel в памяти. Упаковочные приложения .NET легки или с установщиком или с ClickOnce.

0
ответ дан 10 December 2019 в 02:54
поделиться

Я рассмотрел бы систему, которая использовала SQL Server, Компактный для запуска с. Можно использовать его без установки, если Вы желаете к (хотя я предлагаю, чтобы Вы сделали, намного легче просто предположить, что необходимое dll находится в GAC). Если впоследствии Вы найдете необходимость в большей функциональности (скажите, что хранимые процедуры или столбцы ТЕКСТА/BLOB, такая вещь), то затем перемещающийся в SQL Server будет тривиально.

Если Ваша база данных повторно создана, каждый раз, затем испытывающий разные вещи, является простым как указывающий на различный файл.

Если бы у Вас есть значительный код в VBA, я предложил бы сначала переместить его в VB.Net (делающий это, сначала и большую часть подверженного ошибкам легче перехода) затем миграция, что к c#, если это - Ваше требование.

Относительно генерации/изменения листа Excel у Вас есть три опции.

Нужно использовать VSTO, хотя Википедия является намного лучшим описанием. Это будет самым близким к Вашей старой разработке VBA, хотя она имеет совершенно другой набор сложностей.

Другой должен пользоваться одной из выходных библиотек Excel, существуют некоторые плюс намного больше коммерческих. Я не мог рекомендовать, чтобы любой лично, хотя других здесь имел.

Последнее, просто разгрузили csv и позволяют Excel иметь дело с ним, когда Вы открываете его.

0
ответ дан 10 December 2019 в 02:54
поделиться

Интересно, переросли ли Вы Доступ. Это - то, для чего рождается больше устойчивых баз данных, как SQL Server. 20 000 строк не являются большим количеством для SQL Server, но я буду держать пари, что это добирается там для Доступа. Сколько дискового пространства Доступ поднимает при выполнении его? Как быстро данные растут, если вообще?

Как хорошо Вы знаете C# по сравнению с VB? Если Вы не знаете C# хорошо, это могла бы быть хорошая возможность учиться. Это - проблема, которую Вы уже знаете хорошо.

-2
ответ дан 10 December 2019 в 02:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: