A simple JavaFX application to load, save and edit a CSV file and provide a JSON configuration for columns to check the values in the columns.

Related tags

GUI SmartCSV.fx
Overview

SmartCSV.fx

Build and Test GitHub All Releases GitHub GitHub tag (latest by date) GitHub Release Date

Description

A simple JavaFX application to load, save and edit a CSV file and provide a JSON Table Schema for columns to check the values in the columns.

Motivation

At work I have the need to fix wrong CSV files from customers. It is hard to find the errors and fix them in a texteditor, even in a "normal" CSV editor. So I decided to write this simple JavaFX application.

Video

short video about the application

Links

GitHub Page

Wiki & Documentation

binary distribution of the latest release (1.0.0)

Talks

Introduction

License

The MIT License (MIT)

Copyright (c) 2015-2020 Andreas Billmann [email protected]

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Comments
  • CSV File Requirements

    CSV File Requirements

    When I choose a csv file and open it everything appears in one column. This even occurs if I have a separate header row.

    Are there any requirements for the format of the csv file?

    Thanks

    opened by gtnarg 7
  • CSV File Opens in one column

    CSV File Opens in one column

    Hi Andreas,

    When I attempt to open a csv file it all opens in one column.

    The delimiter character is set to "," in preferences. The csv file is attached.

    Thanks, Grant

    image

    sample.zip

    bug 
    opened by gtnarg 1
  • smarter validation editor

    smarter validation editor

    The column editor for validation should be smarter.

    • no double checkboxes on boolean validators
    • min max have to be valid when both activated
    • combinations that are nonsense should'nt be possible
    enhancement 
    opened by frosch95 1
  • Application Won't Start

    Application Won't Start

    I'm getting the following error when trying to launch:

    Feb 12, 2016 9:07:44 AM org.springframework.context.annotation.AnnotationConfigApplicationContext prepareRefresh
    INFO: Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@51ea78e8: startup date [Fri Feb 12 09:07:44 EST 2016]; root of context hierarchy
    javafx.fxml.LoadException: Resource "menu.save.config" not found.
    unknown path:68
    
        at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2597)
        at javafx.fxml.FXMLLoader.access$100(FXMLLoader.java:103)
        at javafx.fxml.FXMLLoader$Element.resolvePrefixedValue(FXMLLoader.java:424)
        at javafx.fxml.FXMLLoader$Element.processValue(FXMLLoader.java:363)
        at javafx.fxml.FXMLLoader$Element.processPropertyAttribute(FXMLLoader.java:325)
        at javafx.fxml.FXMLLoader$Element.processInstancePropertyAttributes(FXMLLoader.java:235)
        at javafx.fxml.FXMLLoader$ValueElement.processEndElement(FXMLLoader.java:767)
        at javafx.fxml.FXMLLoader.processEndElement(FXMLLoader.java:2823)
        at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2532)
        at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2425)
        at ninja.javafx.smartcsv.fx.FXMLController.loadFXML(FXMLController.java:63)
        at ninja.javafx.smartcsv.fx.FXMLController.afterPropertiesSet(FXMLController.java:55)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538)
        at org.springframework.context.annotation.AnnotationConfigApplicationContext.<init>(AnnotationConfigApplicationContext.java:84)
        at ninja.javafx.smartcsv.fx.SmartCSV.start(SmartCSV.java:51)
        at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863)
        at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326)
        at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
        at java.security.AccessController.doPrivileged(Native Method)
        at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294)
        at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
        at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
        at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)
        at java.lang.Thread.run(Thread.java:745)
    
    opened by gtnarg 1
  • Loading errors are swallowed

    Loading errors are swallowed

    When loading a corrupted file, nothing happens. The error is nowhere to be found in the logs or console or UI.

    Only the debugger will tell me what happened

    image

    Sample file: mismatched_columns.csv

    opened by apixandru 0
Releases(1.4.0)
Owner
Andreas Billmann
Developer interested in Java, .NET Core, Kotlin, Docker, Kubernetes and basketball fan with a wonderful wife and a fantastic dog :-)
Andreas Billmann
A small tools to play with JavaFX Color.derive() function - allows to create custom colors and to save those in color palettes.

DeriveColorsFX This is not a serious application. Its a small tool where I just played with the method Color::deriveColor provided by JavaFX. Also its

Oliver Löffler 11 Oct 9, 2022
Reactive event streams, observable values and more for JavaFX.

ReactFX ReactFX is an exploration of (functional) reactive programming techniques for JavaFX. These techniques usually result in more concise code, le

Tomas Mikula 360 Dec 28, 2022
A simple program that is realized by entering data, storing it in memory (in a file) and reading from a file to printing that data.

Pet project A simple program that is realized by entering data, storing it in memory (in a file) and reading from a file to printing that data. It can

Ljubinko Stojanović 3 Apr 28, 2022
A GUI-based file manager based on a Java file management and I/O framework using object-oriented programming ideas.

FileManager A GUI-based file manager based on a Java file management and I/O framework using object-oriented programming ideas. Enables folder creatio

Zongyu Wu 4 Feb 7, 2022
Lib-Tile is a multi Maven project written in JavaFX and NetBeans IDE 8 and provides the functionalities to use and handle easily Tiles in your JavaFX application.

Lib-Tile Intention Lib-Tile is a multi Maven project written in JavaFX and NetBeans IDE and provides the functionalities to use and handle easily Tile

Peter Rogge 13 Apr 13, 2022
null 4 Oct 21, 2022
A maven plugin to include features from jmeter-plugins.org for JMeterPluginsCMD Command Line Tool to create graphs, export csv files from jmeter result files and Filter Result tool.

jmeter-graph-tool-maven-plugin A maven plugin to create graphs using the JMeter Plugins CMDRunner from JMeter result files (*.jtl or *.csv) or using F

Vincent DABURON 6 Nov 3, 2022
JavaFX Webview of JSON resume files

ResumeFX renders a JavaFX view of .json file that follows jsonresume.org standard and has the necessary configuration to be embedded in the web browser thanks to JPro.

TangoraBox 7 Dec 15, 2021
An image annotation desktop-application written in Java using the JavaFX application platform.

This is an image annotation desktop-application written in Java using the JavaFX application platform. It allows you to create bounding box annotations using rectangular and polygonal shapes. Annotations can be imported and saved from/to JSON files, Pascal VOC format XML-files or YOLO format TXT-files.

Markus Fleischhacker 31 Dec 4, 2022
To quickly integrate your applications into the EdgeGallery platform, we provide the toolchain project to help developers quickly modify code and migrate applications to the platform.

Toolchain 工具链 工具链是MEC Developer开发者平台中的一个重要特性,当x86平台的App想要上车ARM平台时,底层的代码不可避免的需要进行修改或重写。 App提供者可以通过MEC Developer开发者平台中集成的工具链进行源代码分析,定位需要修改的源代码并根据指导意见进行修

EdgeGallery 19 Jan 7, 2022
DataFX - is a JavaFX frameworks that provides additional features to create MVC based applications in JavaFX by providing routing and a context for CDI.

What you’ve stumbled upon here is a project that intends to make retrieving, massaging, populating, viewing, and editing data in JavaFX UI controls ea

Guigarage 110 Dec 29, 2022
Tray Icon implementation for JavaFX applications. Say goodbye to using AWT's SystemTray icon, instead use a JavaFX Tray Icon.

FXTrayIcon Library intended for use in JavaFX applications that makes adding a System Tray icon easier. The FXTrayIcon class handles all the messy AWT

Dustin Redmond 248 Dec 30, 2022
FXDesktopSearch - a Java and JavaFX based Desktop Search Application

FXDesktopSearch - The free search application for your desktop FXDesktopSearch is a Java and JavaFX based Desktop Search Application. It crawls a conf

Mirko Sertic 162 Oct 14, 2022
Desktop/Mobile JavaFX application framework

Basilisk is desktop/mobile application development platform for the JVM. Inspired by Griffon, Basilisk leverages JavaFX and JavafXPorts to bring the s

Basilisk 55 Feb 10, 2022
an Application Framework for implementing the MVVM Pattern with JavaFX

mvvmFX is an application framework which provides you necessary components to implement the MVVM pattern with JavaFX. MVVM is the enhanced version of

Alexander Casall 438 Dec 28, 2022
A JavaFX Application mimicking the Matrix green code falling/raining effect.

Matrix Effect A JavaFX application that mimics the falling/raining green code effect. This project has been generated from Gluon at https://start.gluo

Carl Dea 10 Oct 1, 2022
It is a desktop application based on JavaFX to implement a Carmeter-GPS.

CarMeter_JavaFX It is a desktop application based on JavaFX to implement a Carmeter-GPS. Video View more Details about the project.---> Link to Video

Abdullah HAnfy 0 Nov 29, 2022
Simple and clean testing for JavaFX.

TestFX Simple and clean testing for JavaFX. TestFX requires a minimum Java version of 8 (1.8). Documentation See the Javadocs for latest master. See t

null 825 Dec 28, 2022
SimpleFXLoader - Simple JavaFX Scene/Object hierarchy loader.

SimpleFXLoader Simple JavaFX Scene/Object hierarchy loader that can load dynamically some Controller Class once some annotations are used. This only w

Ryan Thomas Payne 2 Dec 30, 2021